промежуточный.переработка объекта пакета тестирования
This commit is contained in:
12
.idea/workspace.xml
generated
12
.idea/workspace.xml
generated
@@ -7,15 +7,11 @@
|
|||||||
</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/Visual_DVM_2021/Passes/All/SaveCurrentDVMPackage.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/TestingSystem/Common/Test/TestDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Test/TestDBTable.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageState.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackagesBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackagesBar.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMPackage.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShowCurrentDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShowCurrentDVMPackage.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/ShowTestingPackage.java" beforeDir="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" />
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import java.util.stream.Collectors;
|
|||||||
public enum TasksPackageState implements StatusEnum {
|
public enum TasksPackageState implements StatusEnum {
|
||||||
Draft,
|
Draft,
|
||||||
//--
|
//--
|
||||||
|
Inactive, //пакет просто есть. не запущен.
|
||||||
Queued,
|
Queued,
|
||||||
//--
|
//--
|
||||||
TestsSynchronize, //оставить.
|
TestsSynchronize, //оставить.
|
||||||
@@ -33,6 +34,7 @@ public enum TasksPackageState implements StatusEnum {
|
|||||||
;
|
;
|
||||||
public boolean isActive() {
|
public boolean isActive() {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
|
case Inactive:
|
||||||
case Done:
|
case Done:
|
||||||
case Aborted:
|
case Aborted:
|
||||||
case Draft:
|
case Draft:
|
||||||
@@ -61,10 +63,12 @@ public enum TasksPackageState implements StatusEnum {
|
|||||||
//-
|
//-
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
|
case Inactive:
|
||||||
|
return "неактивен";
|
||||||
case Draft:
|
case Draft:
|
||||||
return "Подготовка к публикации";
|
return "Подготовка к публикации";
|
||||||
case Aborted:
|
case Aborted:
|
||||||
return "Прерван";
|
return "прерван";
|
||||||
case Queued:
|
case Queued:
|
||||||
return "в очереди";
|
return "в очереди";
|
||||||
case TestsSynchronize:
|
case TestsSynchronize:
|
||||||
@@ -92,7 +96,7 @@ public enum TasksPackageState implements StatusEnum {
|
|||||||
case Done:
|
case Done:
|
||||||
return "завершен";
|
return "завершен";
|
||||||
case ConnectionError:
|
case ConnectionError:
|
||||||
return "Сбой связи";
|
return "сбой связи";
|
||||||
default:
|
default:
|
||||||
return StatusEnum.super.getDescription();
|
return StatusEnum.super.getDescription();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ public class AddDVMPackage extends AddObjectPass<DVMPackage> {
|
|||||||
target.needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
|
target.needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
|
||||||
//--
|
//--
|
||||||
target.package_json = new DVMPackage_json();
|
target.package_json = new DVMPackage_json();
|
||||||
|
target.state= TasksPackageState.Inactive;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -161,6 +161,7 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
|
|||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void body() throws Exception {
|
protected void body() throws Exception {
|
||||||
|
target.package_json = new DVMPackage_json();
|
||||||
DVMPackage_json json = target.package_json;
|
DVMPackage_json json = target.package_json;
|
||||||
//инициализируем идентификаторы задач.
|
//инициализируем идентификаторы задач.
|
||||||
for (DVMCompilationTask compilationTask : tasks) {
|
for (DVMCompilationTask compilationTask : tasks) {
|
||||||
@@ -179,6 +180,7 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
|
|||||||
target.addTests(tests);
|
target.addTests(tests);
|
||||||
//--
|
//--
|
||||||
target.tasksCount += tasks_count;
|
target.tasksCount += tasks_count;
|
||||||
|
target.state= TasksPackageState.Inactive;
|
||||||
Global.testingServer.db.Update(target);
|
Global.testingServer.db.Update(target);
|
||||||
//--
|
//--
|
||||||
// target.printCGT();
|
// target.printCGT();
|
||||||
|
|||||||
@@ -2,11 +2,15 @@ package Visual_DVM_2021.Passes.All;
|
|||||||
import Common.Constants;
|
import Common.Constants;
|
||||||
import Common.Current;
|
import Common.Current;
|
||||||
import Common.Global;
|
import Common.Global;
|
||||||
|
import Common.UI.UI;
|
||||||
import Common.Utils.Utils;
|
import Common.Utils.Utils;
|
||||||
import TestingSystem.Common.Group.Group;
|
import TestingSystem.Common.Group.Group;
|
||||||
import TestingSystem.Common.Test.Test;
|
import TestingSystem.Common.Test.Test;
|
||||||
import TestingSystem.DVM.Configuration.Configuration;
|
import TestingSystem.DVM.Configuration.Configuration;
|
||||||
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||||
|
import TestingSystem.DVM.DVMPackage.DVMPackage_json;
|
||||||
|
import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
|
||||||
|
import TestingSystem.DVM.DVMTasks.DVMRunTask;
|
||||||
import Visual_DVM_2021.Passes.Pass_2021;
|
import Visual_DVM_2021.Passes.Pass_2021;
|
||||||
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
@@ -20,6 +24,10 @@ public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> {
|
|||||||
Vector<String> configurationsNames;
|
Vector<String> configurationsNames;
|
||||||
Vector<String> groupsNames;
|
Vector<String> groupsNames;
|
||||||
//--
|
//--
|
||||||
|
LinkedHashMap<Integer, Vector<Test>> testsByGroups;
|
||||||
|
int tasks_count;
|
||||||
|
Vector<DVMCompilationTask> tasks;
|
||||||
|
//--
|
||||||
@Override
|
@Override
|
||||||
public String getIconPath() {
|
public String getIconPath() {
|
||||||
return "/icons/Save.png";
|
return "/icons/Save.png";
|
||||||
@@ -28,6 +36,72 @@ public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> {
|
|||||||
public String getButtonText() {
|
public String getButtonText() {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
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(
|
||||||
|
Configuration configuration,
|
||||||
|
Group group,
|
||||||
|
Test test
|
||||||
|
) {
|
||||||
|
Vector<DVMCompilationTask> compilationTasks = new Vector<>();
|
||||||
|
for (String flags : configuration.getFlags()) {
|
||||||
|
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
|
@Override
|
||||||
protected boolean canStart(Object... args) throws Exception {
|
protected boolean canStart(Object... args) throws Exception {
|
||||||
target = null;
|
target = null;
|
||||||
@@ -39,9 +113,17 @@ public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> {
|
|||||||
configurationsNames = new Vector<>();
|
configurationsNames = new Vector<>();
|
||||||
groupsNames = new Vector<>();
|
groupsNames = new Vector<>();
|
||||||
//---
|
//---
|
||||||
|
tasks_count = 0;
|
||||||
|
tasks = new Vector<>();
|
||||||
|
testsByGroups = new LinkedHashMap<>();
|
||||||
|
//---
|
||||||
if (!Current.Check(Log, Current.DVMPackage)) return false;
|
if (!Current.Check(Log, Current.DVMPackage)) return false;
|
||||||
//--
|
//--
|
||||||
target = Current.getDVMPackage();
|
target = Current.getDVMPackage();
|
||||||
|
if (target.state.isActive()) {
|
||||||
|
Log.Writeln_("Возможно редактировать только неактивный пакет!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
for (Configuration configuration : Global.testingServer.db.configurations.getCheckedItems()) {
|
for (Configuration configuration : Global.testingServer.db.configurations.getCheckedItems()) {
|
||||||
configurations.add(configuration);
|
configurations.add(configuration);
|
||||||
configurationsNames.add(configuration.description);
|
configurationsNames.add(configuration.description);
|
||||||
@@ -49,13 +131,34 @@ public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> {
|
|||||||
for (Group group : Global.testingServer.db.groups.getCheckedItems()) {
|
for (Group group : Global.testingServer.db.groups.getCheckedItems()) {
|
||||||
groups.add(group);
|
groups.add(group);
|
||||||
groupsNames.add(group.description);
|
groupsNames.add(group.description);
|
||||||
tests.addAll(Global.testingServer.db.tests.getSelectedGroupTests(group));
|
Vector<Test> groupTests = Global.testingServer.db.tests.getSelectedGroupTests(group);
|
||||||
|
tests.addAll(groupTests);
|
||||||
|
testsByGroups.put(group.id, groupTests);
|
||||||
}
|
}
|
||||||
return true;
|
//---
|
||||||
|
//создание задач
|
||||||
|
for (Configuration configuration : configurations) {
|
||||||
|
configurations.add(configuration);
|
||||||
|
for (Group group : groups) {
|
||||||
|
Vector<Test> groupTests = testsByGroups.get(group.id);
|
||||||
|
for (Test test: groupTests){
|
||||||
|
tasks.addAll(createTasksCGT(configuration, group, test));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//---
|
||||||
|
if (tasks.isEmpty()) {
|
||||||
|
Log.Writeln_("Не удалось добавить задачи.\n" +
|
||||||
|
"Для создания задач отметьте требуемые конфигурации,\n" +
|
||||||
|
"Отметьте группы, или отдельные тесты в отмеченной текущей группе");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//---
|
||||||
|
return UI.Question("Будет создано " + tasks_count + " задач. Продолжить");
|
||||||
}
|
}
|
||||||
//проход не создает задачи. Проход просто фиксирует конфигурации группы и тесты.
|
|
||||||
@Override
|
@Override
|
||||||
protected void body() throws Exception {
|
protected void body() throws Exception {
|
||||||
|
//занесение информации об участвующих группах конфигурациях и тестах
|
||||||
target.addConfigurations(configurations);
|
target.addConfigurations(configurations);
|
||||||
target.addGroups(groups);
|
target.addGroups(groups);
|
||||||
target.addTests(tests);
|
target.addTests(tests);
|
||||||
@@ -66,10 +169,23 @@ public class SaveCurrentDVMPackage extends Pass_2021<DVMPackage> {
|
|||||||
//--
|
//--
|
||||||
target.configurationsNames = String.join(";", configurationsNames);
|
target.configurationsNames = String.join(";", configurationsNames);
|
||||||
target.groupsNames = String.join(";", groupsNames);
|
target.groupsNames = String.join(";", groupsNames);
|
||||||
|
//---
|
||||||
|
target.tasksCount=tasks_count;
|
||||||
|
DVMPackage_json json = target.package_json;
|
||||||
|
//инициализируем идентификаторы задач.
|
||||||
|
for (DVMCompilationTask compilationTask : tasks) {
|
||||||
|
//--
|
||||||
|
compilationTask.id = json.getMaxTaskId();
|
||||||
|
//-
|
||||||
|
for (DVMRunTask runTask : compilationTask.runTasks) {
|
||||||
|
runTask.id = json.getMaxTaskId();
|
||||||
|
runTask.dvmcompilationtask_id = compilationTask.id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
json.compilationTasks.addAll(tasks);
|
||||||
//--
|
//--
|
||||||
if (target.id != Constants.Nan)
|
if (target.id != Constants.Nan)
|
||||||
Global.testingServer.db.Update(target);
|
Global.testingServer.db.Update(target);
|
||||||
//--
|
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
protected void showDone() throws Exception {
|
protected void showDone() throws Exception {
|
||||||
|
|||||||
Reference in New Issue
Block a user