промежуточный. изменен механизм формирования задач для тестирования SAPFOR. Теперь они создаются на стадии черновика, при публикации только обновляются ссылки на родительский пакет. При добавлении задач в пакет идет проверка по ключам на их существование.
This commit is contained in:
@@ -15,6 +15,7 @@ import TestingSystem.SAPFOR.Json.SapforTestingSet_json;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
||||
import TestingSystem.SAPFOR.SapforTask.SapforTask;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.Pass_2021;
|
||||
|
||||
@@ -24,13 +25,14 @@ import java.util.Vector;
|
||||
public class AddTasksToSapforPackage extends Pass_2021<SapforPackage> {
|
||||
SapforTestingSet_json testing_set; //то, что добавляем.
|
||||
//--
|
||||
protected int setTasksCount = 0;
|
||||
protected LinkedHashMap<Integer, Vector<Integer>> groupsTests = null;
|
||||
protected LinkedHashMap<String, Test> testsByDescriptions = null;
|
||||
protected Vector<String> testsNames_lower = null; //все тесты что участвуют здесь
|
||||
protected Vector<LanguageName> groupsLanguages = null;
|
||||
protected File sapfor = null;
|
||||
//--
|
||||
protected Vector<SapforTask> new_tasks = null;
|
||||
//--
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/AddTasks.png";
|
||||
@@ -79,10 +81,6 @@ public class AddTasksToSapforPackage extends Pass_2021<SapforPackage> {
|
||||
//--
|
||||
//--
|
||||
public boolean checkConfigurationCommands(SapforConfiguration sapforConfiguration) {
|
||||
if (target.package_json.hasConfiguration(sapforConfiguration.id)){
|
||||
Log.Writeln_("Конфигурация "+sapforConfiguration.id+" уже присутствует в пакете. Повторение конфигураций запрещено!");
|
||||
return false;
|
||||
}
|
||||
//1. получить список всех команд.
|
||||
Vector<PassCode_2021> codes = new Vector<>();
|
||||
//-- счетчик завершающих команд.
|
||||
@@ -180,7 +178,6 @@ public class AddTasksToSapforPackage extends Pass_2021<SapforPackage> {
|
||||
return false;
|
||||
}
|
||||
//---
|
||||
setTasksCount = 0;
|
||||
groupsTests = new LinkedHashMap<>();
|
||||
testsNames_lower = new Vector<>();
|
||||
testsByDescriptions = new LinkedHashMap<>();
|
||||
@@ -218,52 +215,68 @@ public class AddTasksToSapforPackage extends Pass_2021<SapforPackage> {
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
for (int i = 0; i < Global.testingServer.db.sapforConfigurations.getCheckedCount(); ++i) {
|
||||
for (Vector<Integer> tests : groupsTests.values())
|
||||
setTasksCount += tests.size();
|
||||
testing_set = new SapforTestingSet_json();
|
||||
testing_set.id = target.package_json.getMaxSetId();
|
||||
for (Test test : testsByDescriptions.values()) {
|
||||
SapforTest_json test_json = new SapforTest_json();
|
||||
test_json.id = test.id;
|
||||
test_json.description = test.description;
|
||||
test_json.group_description = Global.testingServer.db.groups.get(test.group_id).description;
|
||||
testing_set.tests.add(test_json);
|
||||
}
|
||||
return UI.Question("Будет добавлено " + setTasksCount + " задач. Продолжить");
|
||||
for (SapforConfiguration configuration : Global.testingServer.db.sapforConfigurations.getCheckedItems()) {
|
||||
//--
|
||||
SapforConfiguration_json configuration_json = new SapforConfiguration_json();
|
||||
configuration_json.id = configuration.id;
|
||||
configuration_json.flags = configuration.getFlags();
|
||||
Vector<PassCode_2021> codes = configuration.getPassCodes();
|
||||
//--- коррекцию кода нельзя вызвать если инклуды есть. в общем случае.
|
||||
if (!codes.firstElement().equals(PassCode_2021.SPF_InsertIncludesPass))
|
||||
configuration_json.codes.add(PassCode_2021.SPF_CorrectCodeStylePass); //всегда добавляется.
|
||||
//--
|
||||
configuration_json.codes.addAll(codes);
|
||||
//--->>
|
||||
testing_set.configurations.add(configuration_json);
|
||||
//-->>
|
||||
}
|
||||
Vector<SapforTask> possible_tasks = testing_set.createTasks();
|
||||
Vector<String> keys = target.package_json.getTasksKeys();
|
||||
new_tasks = new Vector<>();
|
||||
for (SapforTask task : possible_tasks) {
|
||||
String key = task.getUniqueKey();
|
||||
if (!keys.contains(key)) {
|
||||
keys.add(key);
|
||||
new_tasks.add(task);
|
||||
}
|
||||
}
|
||||
if (new_tasks.size()==0){
|
||||
Log.Writeln_("Не сформировано ни одной новой задачи.\n" +
|
||||
"Задачи уже присутствуют в пакете, или не отмечено ни одного теста.");
|
||||
return false;
|
||||
}
|
||||
return UI.Question("Будет добавлено " + new_tasks.size() + " задач. Продолжить");
|
||||
}
|
||||
//
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
testing_set = new SapforTestingSet_json();
|
||||
testing_set.id = target.package_json.getMaxSetId();
|
||||
Vector<String> testsNames = new Vector<>();
|
||||
for (Test test : testsByDescriptions.values()) {
|
||||
SapforTest_json test_json = new SapforTest_json();
|
||||
test_json.id = test.id;
|
||||
test_json.description = test.description;
|
||||
test_json.group_description = Global.testingServer.db.groups.get(test.group_id).description;
|
||||
testing_set.tests.add(test_json);
|
||||
//-
|
||||
testsNames.add(test.description);
|
||||
}
|
||||
for (SapforConfiguration configuration : Global.testingServer.db.sapforConfigurations.getCheckedItems()) {
|
||||
//--
|
||||
SapforConfiguration_json configuration_json = new SapforConfiguration_json();
|
||||
configuration_json.id = configuration.id;
|
||||
configuration_json.flags = configuration.getFlags();
|
||||
Vector<PassCode_2021> codes = configuration.getPassCodes();
|
||||
//--- коррекцию кода нельзя вызвать если инклуды есть. в общем случае.
|
||||
if (!codes.firstElement().equals(PassCode_2021.SPF_InsertIncludesPass))
|
||||
configuration_json.codes.add(PassCode_2021.SPF_CorrectCodeStylePass); //всегда добавляется.
|
||||
//--
|
||||
configuration_json.codes.addAll(codes);
|
||||
//--->>
|
||||
testing_set.configurations.add(configuration_json);
|
||||
//-->>
|
||||
}
|
||||
//-->>
|
||||
target.package_json.testingSets.add(testing_set);
|
||||
target.tasksCount += setTasksCount;
|
||||
target.testsNames += String.join(";", testsNames) + ";";
|
||||
for (SapforTask task: new_tasks){
|
||||
task.id = target.package_json.getMaxTaskId();
|
||||
target.package_json.tasks.add(task);
|
||||
}
|
||||
target.tasksCount += new_tasks.size();
|
||||
target.testsNames = String.join(";", target.package_json.getTestsNames());
|
||||
Global.testingServer.db.Update(target);
|
||||
}
|
||||
@Override
|
||||
protected void showDone() throws Exception {
|
||||
Global.testingServer.db.sapforPackages.ShowUI(target.id);
|
||||
//----
|
||||
Utils.CheckAndCleanDirectory(target.getLocalWorkspace());
|
||||
target.saveJson();
|
||||
//---
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.Utils;
|
||||
@@ -36,12 +37,15 @@ public class CompareDVMRunTasks extends Pass_2021<Vector<DVMRunTask>> {
|
||||
} else if (target.size() == 1) {
|
||||
master = target.get(0);
|
||||
slave = null;
|
||||
return UI.Question("Отобразить задачу " + Utils.Brackets(target.get(0).getPK()));
|
||||
} else if (target.size() != 2) {
|
||||
Log.Writeln_("Для сравнения требуется отметить две задачи.\nДля отображения требуется отметить одну задачу");
|
||||
return UI.Question("Отобразить задачу " + Utils.Brackets(master.getPK()));
|
||||
} else if ((target.size() == 0) && (Current.HasDVMRunTask())) {
|
||||
master = Current.getDVMRunTask();
|
||||
slave = null;
|
||||
return UI.Question("Отобразить задачу " + Utils.Brackets(master.getPK()));
|
||||
} else {
|
||||
Log.Writeln_("Для сравнения требуется отметить две задачи.\nДля отображения требуется отметить одну задачу,или выделить её.");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.Utils;
|
||||
@@ -36,12 +37,15 @@ public class CompareSapforPackages extends Pass_2021<Vector<SapforPackage>> {
|
||||
} else if (target.size() == 1) {
|
||||
master = target.get(0);
|
||||
slave = null;
|
||||
return UI.Question("Отобразить пакет " + Utils.Brackets(target.get(0).getPK()));
|
||||
} else if (target.size() != 2) {
|
||||
Log.Writeln_("Для сравнения требуется отметить два пакета.\nДля отображения требуется отметить один пакет");
|
||||
return UI.Question("Отобразить пакет " + Utils.Brackets(master.getPK()));
|
||||
} else if ((target.size() == 0) && (Current.HasSapforPackage())) {
|
||||
master = Current.getSapforPackage();
|
||||
slave = null;
|
||||
return UI.Question("Отобразить пакет " + Utils.Brackets(master.getPK()));
|
||||
} else {
|
||||
Log.Writeln_("Для сравнения требуется отметить два пакета.\nДля отображения требуется отметить один пакет,или выделить его");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user