промежуточный. выкинул старые объекты и функционал. Осталось восстановить эксель, и отображение пакетов Сапфор
This commit is contained in:
@@ -2,7 +2,6 @@ package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import TestingSystem.Common.TasksPackageToKill.TasksPackageToKill;
|
||||
import TestingSystem.Common.TestingPackageToKill.TestingPackageToKill;
|
||||
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||
import Visual_DVM_2021.Passes.AbortTestingPackage;
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import TestingSystem.Common.TasksPackageToKill.TasksPackageToKill;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.SapforTasksPackage;
|
||||
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||
public class AbortSapforTaskPackage extends TestingSystemPass<SapforTasksPackage> {
|
||||
TasksPackageToKill tasksPackageToKill = null;
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/Ban.PNG";
|
||||
}
|
||||
@Override
|
||||
public String getButtonText() {
|
||||
return "";
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
tasksPackageToKill = null;
|
||||
if (Current.Check(Log, Current.SapforTasksPackage)) {
|
||||
target = Current.getSapforTasksPackage();
|
||||
switch (target.state) {
|
||||
case Done:
|
||||
case Aborted:
|
||||
Log.Writeln_("Пакет уже завершен.");
|
||||
break;
|
||||
default:
|
||||
tasksPackageToKill = new TasksPackageToKill();
|
||||
tasksPackageToKill.packageId = target.id;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
;
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.PublishObject, Current.getAccount().email, tasksPackageToKill));
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import TestingSystem.Common.TasksPackageToKill.TasksPackageToKill;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackage;
|
||||
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||
public class AbortTaskPackage extends TestingSystemPass<TasksPackage> {
|
||||
TasksPackageToKill tasksPackageToKill = null;
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/Ban.PNG";
|
||||
}
|
||||
@Override
|
||||
public String getButtonText() {
|
||||
return "";
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
tasksPackageToKill = null;
|
||||
if (Current.Check(Log, Current.TasksPackage)) {
|
||||
target = Current.getTasksPackage();
|
||||
switch (target.state) {
|
||||
case Done:
|
||||
case Aborted:
|
||||
Log.Writeln_("Пакет уже завершен.");
|
||||
break;
|
||||
default:
|
||||
tasksPackageToKill = new TasksPackageToKill();
|
||||
tasksPackageToKill.packageId = target.id;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
;
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.PublishObject, Current.getAccount().email, tasksPackageToKill));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import GlobalData.Machine.MachineType;
|
||||
import GlobalData.User.UserState;
|
||||
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||
import TestingSystem.DVM.DVMPackage.DVMPackage_json;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackage;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackageState;
|
||||
import Visual_DVM_2021.Passes.AddObjectPass;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Database.Database;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackageState;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.SapforTasksPackage;
|
||||
import Visual_DVM_2021.Passes.DeleteServerObjects;
|
||||
|
||||
import java.util.Vector;
|
||||
public class DeleteSapforTasksPackage extends DeleteServerObjects<TestingServer,SapforTasksPackage> {
|
||||
public DeleteSapforTasksPackage() {
|
||||
super(Global.testingServer,SapforTasksPackage.class);
|
||||
}
|
||||
protected Database getDb() {
|
||||
return server.account_db;
|
||||
}
|
||||
protected String getEmail() {
|
||||
return Current.getAccount().email;
|
||||
}
|
||||
Vector<SapforTasksPackage> to_delete;
|
||||
//---
|
||||
public boolean checkActivity() {
|
||||
to_delete = new Vector<>();
|
||||
for (Object key : target) {
|
||||
SapforTasksPackage tasksPackage = server.account_db.sapforTasksPackages.get(key);
|
||||
if (!tasksPackage.state.equals(TasksPackageState.Done) &&
|
||||
!tasksPackage.state.equals(TasksPackageState.Aborted)
|
||||
) {
|
||||
Log.Writeln_("Нельзя удалить активный пакет " + key + " !");
|
||||
return false;
|
||||
}
|
||||
to_delete.add(tasksPackage);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
return super.canStart(args) && checkActivity();
|
||||
}
|
||||
@Override
|
||||
protected void showPreparation() throws Exception {
|
||||
UI.getMainWindow().getTestingWindow().DropSapforComparison();
|
||||
}
|
||||
@Override
|
||||
protected void performDone() throws Exception {
|
||||
super.performDone();
|
||||
for (SapforTasksPackage tasksPackage: to_delete)
|
||||
Utils.delete_with_check(tasksPackage.getLocalWorkspace());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Database.Database;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackage;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackageState;
|
||||
import Visual_DVM_2021.Passes.DeleteServerObjects;
|
||||
public class DeleteTasksPackage extends DeleteServerObjects<TestingServer, TasksPackage> {
|
||||
public DeleteTasksPackage() {
|
||||
super(Global.testingServer, TasksPackage.class);
|
||||
}
|
||||
protected Database getDb() {
|
||||
return server.account_db;
|
||||
}
|
||||
protected String getEmail() {
|
||||
return Current.getAccount().email;
|
||||
}
|
||||
//---
|
||||
public boolean checkActivity() {
|
||||
for (Object key : target) {
|
||||
TasksPackage tasksPackage = server.account_db.packages.get(key);
|
||||
if (!tasksPackage.state.equals(TasksPackageState.Done) &&
|
||||
!tasksPackage.state.equals(TasksPackageState.Aborted)
|
||||
) {
|
||||
Log.Writeln_("Нельзя удалить активный пакет " + key + " !");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
return super.canStart(args) && checkActivity();
|
||||
}
|
||||
@Override
|
||||
protected void showPreparation() throws Exception {
|
||||
UI.getMainWindow().getTestingWindow().DropTestRunTasksComparison();
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Utils.Utils;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.SapforTasksPackage;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackageState;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||
|
||||
import java.io.File;
|
||||
public class DownloadSapforTasksPackage extends TestingSystemPass<SapforTasksPackage> {
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/DownloadBugReport.png";
|
||||
}
|
||||
@Override
|
||||
public String getButtonText() {
|
||||
return "";
|
||||
}
|
||||
File tmpArchive = null;
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
if (args.length > 0) {
|
||||
target = (SapforTasksPackage) args[0];
|
||||
} else {
|
||||
if (Current.Check(Log, Current.SapforTasksPackage))
|
||||
target = Current.getSapforTasksPackage();
|
||||
else return false;
|
||||
}
|
||||
//-
|
||||
if (!target.state.equals(TasksPackageState.Done)) {
|
||||
Log.Writeln_("Пакет не завершен.");
|
||||
return false;
|
||||
}
|
||||
if (target.isLoaded()) {
|
||||
System.out.println("Пакет уже загружен");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.DownloadSapforTasksPackage, Current.getAccount().email, target.id));
|
||||
response.Unpack(tmpArchive = Utils.getTempFileName(String.valueOf(target.id)));
|
||||
}
|
||||
@Override
|
||||
protected boolean validate() {
|
||||
return tmpArchive != null && tmpArchive.exists();
|
||||
}
|
||||
@Override
|
||||
protected void performDone() throws Exception {
|
||||
super.performDone();
|
||||
passes.get(PassCode_2021.UnpackSapforTasksPackage).Do(tmpArchive, target);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import TestingSystem.DVM.Tasks.TestRunTask;
|
||||
import TestingSystem.DVM.DVMTasks.DVMRunTask;
|
||||
import TestingSystem.Common.Test.Test;
|
||||
public class DownloadTaskTest extends DownloadTest {
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
target = null;
|
||||
if (Current.getAccount().CheckRegistered(Log) && Current.Check(Log, Current.TestRunTask)) {
|
||||
TestRunTask task = Current.getTestRunTask();
|
||||
if (Current.getAccount().CheckRegistered(Log) && Current.Check(Log, Current.DVMRunTask)) {
|
||||
DVMRunTask task = Current.getDVMRunTask();
|
||||
//-- квазиобъект, нам от него нужно только имя.
|
||||
target = new Test();
|
||||
target.id = task.test_id;
|
||||
|
||||
@@ -6,8 +6,8 @@ import Common.Utils.Files.VDirectoryChooser;
|
||||
import Common.Utils.Index;
|
||||
import Common.Utils.Utils;
|
||||
import GlobalData.Tasks.TaskState;
|
||||
import TestingSystem.DVM.Tasks.TestRunTask;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackage;
|
||||
import TestingSystem.DVM.DVMPackage.DVMPackage;
|
||||
import TestingSystem.DVM.DVMTasks.DVMRunTask;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackageState;
|
||||
import Visual_DVM_2021.Passes.Pass_2021;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
@@ -22,7 +22,7 @@ import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
public class ExportTasksPackageToExcel extends Pass_2021<Vector<TasksPackage>> {
|
||||
public class ExportTasksPackageToExcel extends Pass_2021<Vector<DVMPackage>> {
|
||||
//https://tproger.ru/translations/how-to-read-write-excel-file-java-poi-example
|
||||
File dir;
|
||||
File res;
|
||||
@@ -37,7 +37,7 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<TasksPackage>> {
|
||||
int total_tasks_count = 0;
|
||||
long total_time = 0;
|
||||
//--
|
||||
LinkedHashMap<Long, Vector<TestRunTask>> packages_tasks = null;
|
||||
LinkedHashMap<Integer, Vector<DVMRunTask>> packages_tasks = null;
|
||||
//--
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
@@ -59,24 +59,26 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<TasksPackage>> {
|
||||
packages_tasks = new LinkedHashMap<>();
|
||||
target = null;
|
||||
//--
|
||||
if (Global.testingServer.account_db.packages.getCheckedCount() > 0) {
|
||||
target = Global.testingServer.account_db.packages.getCheckedItems();
|
||||
if (Global.testingServer.db.dvmPackages.getCheckedCount() > 0) {
|
||||
target = Global.testingServer.db.dvmPackages.getCheckedItems();
|
||||
} else {
|
||||
if (Current.Check(Log, Current.TasksPackage)) {
|
||||
if (Current.Check(Log, Current.DVMPackage)) {
|
||||
target = new Vector<>();
|
||||
target.add(Current.getTasksPackage());
|
||||
target.add(Current.getDVMPackage());
|
||||
} else return false;
|
||||
}
|
||||
for (TasksPackage tasksPackage : target) {
|
||||
if (!tasksPackage.state.equals(TasksPackageState.Done)) {
|
||||
Log.Writeln_("Пакет " + tasksPackage.id + " не завершен.");
|
||||
for (DVMPackage dvmPackage : target) {
|
||||
if (!dvmPackage.state.equals(TasksPackageState.Done)) {
|
||||
Log.Writeln_("Пакет " + dvmPackage.id + " не завершен.");
|
||||
} else {
|
||||
Vector<TestRunTask> tasks = new Vector<>();
|
||||
for (TestRunTask task : Global.testingServer.account_db.testRunTasks.Data.values()) {
|
||||
if (task.taskspackage_id == tasksPackage.id)
|
||||
Vector<DVMRunTask> tasks = new Vector<>();
|
||||
/* todo Загрузить и распаковать все выделенные пакеты
|
||||
for (DVMRunTask task : Global.testingServer.db.testRunTasks.Data.values()) {
|
||||
if (task.taskspackage_id == dvmPackage.id)
|
||||
tasks.add(task);
|
||||
}
|
||||
packages_tasks.put(tasksPackage.id, tasks);
|
||||
*/
|
||||
packages_tasks.put(dvmPackage.id, tasks);
|
||||
}
|
||||
}
|
||||
if (!Log.isEmpty())
|
||||
@@ -90,17 +92,17 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<TasksPackage>> {
|
||||
return true;
|
||||
}
|
||||
//---
|
||||
String getPackageInfo(TasksPackage object) {
|
||||
String getPackageInfo(DVMPackage object) {
|
||||
Vector<String> lines = new Vector<>();
|
||||
lines.add("задач " + object.runTasksCount);
|
||||
lines.add("задач " + object.tasksCount);
|
||||
lines.add("машина " + object.machine_address + ":" + object.machine_port);
|
||||
lines.add("ядер " + object.kernels);
|
||||
lines.add("DVM-система " + object.dvm_version);
|
||||
lines.add("DVM-система " + object.version);
|
||||
//--
|
||||
total_tasks_count+=object.runTasksCount;
|
||||
total_tasks_count += object.tasksCount;
|
||||
//--
|
||||
long milliseconds = object.ChangeDate - object.StartDate;
|
||||
total_time+= milliseconds;
|
||||
total_time += milliseconds;
|
||||
//--
|
||||
lines.add("время выполнения " + Utils.printSplittedDateInterval(milliseconds));
|
||||
return String.join("; ", lines);
|
||||
@@ -300,9 +302,9 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<TasksPackage>> {
|
||||
styles.add(style);
|
||||
}
|
||||
}
|
||||
void exportPackageTasks(TasksPackage tasksPackage, Index offset) {
|
||||
Vector<TestRunTask> tasks = packages_tasks.get(tasksPackage.id);
|
||||
for (TestRunTask task : tasks) {
|
||||
void exportPackageTasks(DVMPackage dvmPackage, Index offset) {
|
||||
Vector<DVMRunTask> tasks = packages_tasks.get(dvmPackage.id);
|
||||
for (DVMRunTask task : tasks) {
|
||||
ShowMessage2(task.test_description);
|
||||
//---
|
||||
Integer NUM_THREADS = extractIntegerEnvironmentValue(task.environments, "DVMH_NUM_THREADS");
|
||||
@@ -345,12 +347,12 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<TasksPackage>> {
|
||||
createStyles();
|
||||
//--
|
||||
Index offset = new Index();
|
||||
for (TasksPackage tasksPackage : target) {
|
||||
addInfoRow(offset.getValue(), getPackageInfo(tasksPackage));
|
||||
for (DVMPackage dvmPackage : target) {
|
||||
addInfoRow(offset.getValue(), getPackageInfo(dvmPackage));
|
||||
offset.Inc();
|
||||
}
|
||||
if (target.size()>1){
|
||||
addInfoRow(offset.getValue(), "всего задач "+total_tasks_count+"; общее время выполнения "+Utils.printSplittedDateInterval(total_time));
|
||||
if (target.size() > 1) {
|
||||
addInfoRow(offset.getValue(), "всего задач " + total_tasks_count + "; общее время выполнения " + Utils.printSplittedDateInterval(total_time));
|
||||
offset.Inc();
|
||||
}
|
||||
addHeaderRow(offset.getValue(),
|
||||
@@ -372,8 +374,8 @@ public class ExportTasksPackageToExcel extends Pass_2021<Vector<TasksPackage>> {
|
||||
"Прогресс (%)");
|
||||
//--
|
||||
offset.Inc();
|
||||
for (TasksPackage tasksPackage : target) {
|
||||
exportPackageTasks(tasksPackage, offset);
|
||||
for (DVMPackage dvmPackage : target) {
|
||||
exportPackageTasks(dvmPackage, offset);
|
||||
}
|
||||
//--
|
||||
for (int i = 0; i < max_columns; ++i)
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.UI.UI;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||
public class GetTestsQueueSize extends TestingSystemPass<Long> {
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/Help.png";
|
||||
}
|
||||
@Override
|
||||
public String getButtonText() {
|
||||
return "";
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
return Current.Check(Log, Current.TasksPackage);
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
target = 0L;
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.GetQueueSize, "", Current.getTasksPackage().StartDate));
|
||||
target = (long) response.object;
|
||||
}
|
||||
@Override
|
||||
protected void showDone() throws Exception {
|
||||
UI.Info("Задач в очереди: "+target);
|
||||
}
|
||||
}
|
||||
@@ -1,211 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Constants;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.Index;
|
||||
import ProjectData.LanguageName;
|
||||
import TestingSystem.Common.Group.Group;
|
||||
import TestingSystem.Common.Test.Test;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackageState;
|
||||
import TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration;
|
||||
import TestingSystem.SAPFOR.SapforConfigurationCommand.SapforConfigurationCommand;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.SapforTasksPackage;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.Server.PublishServerAccountObject;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Date;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
public class StartSapforTests extends PublishServerAccountObject<SapforTasksPackage> {
|
||||
protected int allTasksCount = 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 Vector<String> testsIds = null;
|
||||
protected Vector<String> configurationsIds = null;
|
||||
protected File sapfor = null;
|
||||
//--
|
||||
public StartSapforTests() {
|
||||
super(SapforTasksPackage.class);
|
||||
}
|
||||
//---
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/Start.png";
|
||||
}
|
||||
//--
|
||||
protected boolean checkTestName(Test test) {
|
||||
String name = test.description.toLowerCase();
|
||||
if (testsNames_lower.contains(name)) {
|
||||
Log.Writeln_("В пакет не могут входить тесты с одинаковыми именами (без учета регистра):" + test.description.toLowerCase());
|
||||
return false;
|
||||
}
|
||||
testsNames_lower.add(name);
|
||||
return true;
|
||||
}
|
||||
protected boolean getGroupTests(int groupId) {
|
||||
Vector<Integer> groupTests = new Vector<>();
|
||||
Vector<Integer> selectedGroupTests = new Vector<>();
|
||||
//---
|
||||
for (Test test : server.db.tests.Data.values()) {
|
||||
if (test.group_id==groupId) {
|
||||
groupTests.add(test.id);
|
||||
if (test.isSelected())
|
||||
selectedGroupTests.add(test.id);
|
||||
}
|
||||
}
|
||||
if (!groupTests.isEmpty() && !selectedGroupTests.isEmpty())
|
||||
groupTests = selectedGroupTests;
|
||||
//---
|
||||
if (groupTests.isEmpty()) {
|
||||
Log.Writeln_("Пустая группа тестов: " + groupId);
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
for (int testId : groupTests) {
|
||||
Test test = Global.testingServer.db.tests.get(testId);
|
||||
if (!checkTestName(test))
|
||||
return false;
|
||||
else
|
||||
testsByDescriptions.put(test.description, test);
|
||||
}
|
||||
//--
|
||||
groupsTests.put(groupId, groupTests);
|
||||
//--
|
||||
return true;
|
||||
}
|
||||
boolean checkTerminalCode(SapforConfiguration sapforConfiguration, PassCode_2021 code, int count, Vector<PassCode_2021> codes) {
|
||||
if (count > 2) {
|
||||
Log.Writeln_("Неверная конфигурация:" + sapforConfiguration.id + ": " +
|
||||
code.getDescription() +
|
||||
" возможно только один раз.");
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
if ((count == 1) && codes.size() > 1) {
|
||||
if (!codes.lastElement().equals(code)) {
|
||||
Log.Writeln_("Неверная конфигурация:" + sapforConfiguration.id + ": " +
|
||||
code.getDescription() +
|
||||
" может быть только завершающей командой!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public boolean getConfigurationCommands(SapforConfiguration sapforConfiguration) {
|
||||
//1. получить список всех команд.
|
||||
Vector<PassCode_2021> codes = new Vector<>();
|
||||
//-- счетчик завершающих команд.
|
||||
LinkedHashMap<PassCode_2021, Index> terminalCodesCount = new LinkedHashMap<>();
|
||||
for (PassCode_2021 code : Constants.terminalSapforTestingCodes)
|
||||
terminalCodesCount.put(code, new Index());
|
||||
//--
|
||||
for (SapforConfigurationCommand command : Global.testingServer.db.sapforConfigurationCommands.Data.values()) {
|
||||
if (command.sapforconfiguration_id==sapforConfiguration.id) {
|
||||
codes.add(command.passCode);
|
||||
//---
|
||||
for (PassCode_2021 t_code : Constants.terminalSapforTestingCodes) {
|
||||
if (command.passCode.equals(t_code))
|
||||
terminalCodesCount.get(t_code).Inc();
|
||||
}
|
||||
//---
|
||||
}
|
||||
}
|
||||
//--
|
||||
if (codes.size() == 0) {
|
||||
Log.Writeln_("Пустая конфигурация:" + sapforConfiguration.id);
|
||||
return false;
|
||||
}
|
||||
for (PassCode_2021 t_code : Constants.terminalSapforTestingCodes) {
|
||||
if (!checkTerminalCode(sapforConfiguration, t_code,
|
||||
terminalCodesCount.get(t_code).getValue(), codes
|
||||
))
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
return true;
|
||||
}
|
||||
//--
|
||||
@Override
|
||||
public boolean fillObjectFields() throws Exception {
|
||||
//--
|
||||
allTasksCount = 0;
|
||||
groupsTests = new LinkedHashMap<>();
|
||||
testsNames_lower = new Vector<>();
|
||||
testsByDescriptions = new LinkedHashMap<>();
|
||||
groupsLanguages = new Vector<>();
|
||||
testsIds =new Vector<>();
|
||||
configurationsIds = new Vector<>();
|
||||
//-->>
|
||||
if (!Current.getAccount().CheckRegistered(Log)) {
|
||||
return false;
|
||||
}
|
||||
//проверка стартовых условий.
|
||||
if (!Current.Check(Log, Current.ServerSapfor))
|
||||
return false;
|
||||
//--->>
|
||||
if (Global.testingServer.db.sapforConfigurations.getCheckedCount() == 0) {
|
||||
Log.Writeln_("Не отмечено ни одной конфигурации SAPFOR.");
|
||||
return false;
|
||||
}
|
||||
//-
|
||||
for (SapforConfiguration configuration : Global.testingServer.db.sapforConfigurations.getCheckedItems()) {
|
||||
if (!getConfigurationCommands(configuration))
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
if (Global.testingServer.db.groups.getCheckedCount() == 0) {
|
||||
Log.Writeln_("Не отмечено ни одной группы тестов");
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
for (Group group : Global.testingServer.db.groups.getCheckedItems()) {
|
||||
//---
|
||||
if (!groupsLanguages.contains(group.language))
|
||||
groupsLanguages.add(group.language);
|
||||
//-
|
||||
if (groupsLanguages.get(0) != LanguageName.fortran) {
|
||||
Log.Writeln_("Поддерживается пакетный режим только для языка Fortran!");
|
||||
return false;
|
||||
}
|
||||
if (groupsLanguages.size() > 1) {
|
||||
Log.Writeln_("Запуск тестов на разных языках в рамках одного пакета запрещен!");
|
||||
return false;
|
||||
}
|
||||
//---
|
||||
if (!getGroupTests(group.id))
|
||||
return false;
|
||||
}
|
||||
//--
|
||||
for (int i = 0; i < Global.testingServer.db.sapforConfigurations.getCheckedCount(); ++i) {
|
||||
for (Vector<Integer> tests : groupsTests.values())
|
||||
allTasksCount += tests.size();
|
||||
}
|
||||
//--
|
||||
for (Test test : testsByDescriptions.values())
|
||||
testsIds.add(String.valueOf(test.id));
|
||||
//--
|
||||
for (SapforConfiguration configuration : Global.testingServer.db.sapforConfigurations.getCheckedItems())
|
||||
configurationsIds.add(String.valueOf(configuration.id));
|
||||
//--
|
||||
target.tasksCount = allTasksCount;
|
||||
target.testsIds = String.join("\n", testsIds);
|
||||
target.configurationsIds = String.join("\n", configurationsIds);
|
||||
//--
|
||||
target.sapforId = Current.getServerSapfor().id;
|
||||
target.sapfor_version = Current.getServerSapfor().version;
|
||||
//--
|
||||
target.testsNames = String.join(";", testsNames_lower);
|
||||
target.StartDate = new Date().getTime();
|
||||
target.kernels = Global.properties.TestingKernels;
|
||||
target.state = TasksPackageState.Queued;
|
||||
target.needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
|
||||
//---
|
||||
return (UI.Question("Будет запущено:\n"
|
||||
+ allTasksCount + " задач\n" +
|
||||
"Продолжить"));
|
||||
}
|
||||
}
|
||||
@@ -1,221 +0,0 @@
|
||||
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.DVM.Tasks.TestCompilationTask;
|
||||
import TestingSystem.DVM.Tasks.TestRunTask;
|
||||
import TestingSystem.DVM.TasksPackage.TasksPackage;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.Server.PublishServerAccountObject;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Vector;
|
||||
public class StartTests extends PublishServerAccountObject<TasksPackage> {
|
||||
public StartTests() {
|
||||
super(TasksPackage.class);
|
||||
}
|
||||
@Override
|
||||
protected int getTimeout() {
|
||||
return 0;
|
||||
}
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/Start.png";
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
if (!Current.getAccount().CheckRegistered(Log)) {
|
||||
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);
|
||||
if (!CreateTasks()) {
|
||||
Log.Writeln_("Не удалось создать задачи.\n" +
|
||||
"Для создания задач отметьте требуемые конфигурации,\n" +
|
||||
"Отметьте группы, или отдельные тесты в отмеченной текущей группе");
|
||||
return false;
|
||||
}
|
||||
//-
|
||||
if (target.runTasksCount == 0) {
|
||||
Log.Writeln_("Не будет создано ни одной задачи на запуск.");
|
||||
return false;
|
||||
}
|
||||
//todo сюда же флаг нужно ли почтовое отправление.
|
||||
if (UI.Question("Будет запущено:\n"
|
||||
+ target.compilationTasksCount + " задач на компиляцию\n" +
|
||||
+target.runTasksCount + " задач на запуск.\n" +
|
||||
"Продолжить")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
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 static Vector<TestCompilationTask> createTasksCGT(
|
||||
TestingSystem.DVM.Configuration.Configuration configuration,
|
||||
Group group,
|
||||
Test test
|
||||
) {
|
||||
Vector<TestCompilationTask> compilationTasks = new Vector<>();
|
||||
for (String flags : configuration.getFlags()) {
|
||||
String checked_flags = checkFlags(flags);
|
||||
TestCompilationTask testCompilationTask = new TestCompilationTask(
|
||||
configuration,
|
||||
group,
|
||||
test,
|
||||
checked_flags
|
||||
);
|
||||
testCompilationTask.runTasks = new Vector<>();
|
||||
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")) {
|
||||
testCompilationTask.runTasks.add(new TestRunTask(
|
||||
configuration,
|
||||
group,
|
||||
test,
|
||||
"",
|
||||
checked_flags,
|
||||
checkedEnvironments,
|
||||
configuration.getParamsText()
|
||||
));
|
||||
} else
|
||||
for (String matrix : matrixes) {
|
||||
testCompilationTask.runTasks.add(new TestRunTask(
|
||||
configuration,
|
||||
group,
|
||||
test,
|
||||
matrix,
|
||||
checked_flags,
|
||||
checkedEnvironments,
|
||||
configuration.getParamsText()));
|
||||
}
|
||||
}
|
||||
compilationTasks.add(testCompilationTask);
|
||||
}
|
||||
return compilationTasks;
|
||||
}
|
||||
protected boolean CreateTasks() {
|
||||
//---------
|
||||
Vector<String> configurations_lines = new Vector<>();
|
||||
Vector<String> groups_lines = new Vector<>();
|
||||
//-----------
|
||||
target = new TasksPackage();
|
||||
target.StartDate = new Date().getTime();
|
||||
//-
|
||||
target.machine_name = Current.getMachine().name;
|
||||
target.machine_address = Current.getMachine().address;
|
||||
target.machine_port = Current.getMachine().port;
|
||||
target.machine_type = Current.getMachine().type;
|
||||
//-
|
||||
target.user_name = Current.getUser().login;
|
||||
target.user_password = Current.getUser().password;
|
||||
target.user_workspace = Current.getUser().workspace;
|
||||
target.dvm_drv = Current.getCompiler().call_command;
|
||||
target.dvm_version = Current.getCompiler().getVersionInfo();
|
||||
target.kernels = Global.properties.TestingKernels;
|
||||
Vector<TestCompilationTask> tasks = new Vector<>();
|
||||
//1, Проверяем выбраны ли конфиги.
|
||||
if (server.db.configurations.getCheckedCount() == 0) {
|
||||
Log.Writeln_("Не отмечена ни одна конфигурация тестирования.");
|
||||
return false;
|
||||
}
|
||||
if (server.db.groups.getCheckedCount() > 0) {
|
||||
//2 Проверяем выбраны ли группы.
|
||||
configurations_lines.add("Конфигурации: ");
|
||||
for (TestingSystem.DVM.Configuration.Configuration configuration : server.db.configurations.getCheckedItems()) {
|
||||
configurations_lines.add(configuration.getSummary());
|
||||
groups_lines.add("Группы: ");
|
||||
for (Group group : server.db.groups.getCheckedItems()) {
|
||||
groups_lines.add(group.getSummary());
|
||||
Vector<Test> groupTests = new Vector<>();
|
||||
Vector<Test> checkedGroupTests = new Vector<>();
|
||||
for (Test test : server.db.tests.Data.values()) {
|
||||
if (test.group_id == group.id) {
|
||||
groupTests.add(test);
|
||||
if (test.isSelected())
|
||||
checkedGroupTests.add(test);
|
||||
}
|
||||
}
|
||||
if (!groupTests.isEmpty()) {
|
||||
if (checkedGroupTests.isEmpty()) {
|
||||
for (Test test : groupTests)
|
||||
tasks.addAll(createTasksCGT(configuration, group, test));
|
||||
} else {
|
||||
//добавляем только отмеченные.
|
||||
for (Test test : checkedGroupTests) {
|
||||
tasks.addAll(createTasksCGT(configuration, group, test));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//рассортировать по группам и тестам задачи.
|
||||
for (TestCompilationTask task : tasks) {
|
||||
target.compilationTasksCount++;
|
||||
target.runTasksCount += task.runTasks.size();
|
||||
LinkedHashMap<Integer, Vector<TestCompilationTask>> group_tasks = null;
|
||||
if (target.sorted_tasks.containsKey(task.group_id))
|
||||
group_tasks = target.sorted_tasks.get(task.group_id);
|
||||
else {
|
||||
group_tasks = new LinkedHashMap<>();
|
||||
target.sorted_tasks.put(task.group_id, group_tasks);
|
||||
}
|
||||
Vector<TestCompilationTask> test_tasks = null;
|
||||
if (group_tasks.containsKey(task.test_id))
|
||||
test_tasks = group_tasks.get((task.test_id));
|
||||
else {
|
||||
test_tasks = new Vector<>();
|
||||
group_tasks.put(task.test_id, test_tasks);
|
||||
}
|
||||
test_tasks.add(task);
|
||||
}
|
||||
Vector<String> summary_lines = new Vector<>();
|
||||
summary_lines.addAll(configurations_lines);
|
||||
summary_lines.addAll(groups_lines);
|
||||
target.summary =
|
||||
"Задач на компиляцию: " + target.compilationTasksCount + "\n" +
|
||||
"Задач на запуск: " + target.runTasksCount + "\n" +
|
||||
String.join("\n", summary_lines);
|
||||
target.needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
|
||||
return !tasks.isEmpty();
|
||||
}
|
||||
}
|
||||
@@ -1,95 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Current;
|
||||
import Common.Global;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.Utils;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import Visual_DVM_2021.Passes.Pass_2021;
|
||||
import Visual_DVM_2021.Passes.Server.TestingSystemPass;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
public class SynchronizeTestsTasks extends Pass_2021 {
|
||||
byte[] db_file_bytes;
|
||||
File new_db_file;
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
db_file_bytes = null;
|
||||
new_db_file = null;
|
||||
if (Current.getAccount().CheckRegistered(Log)) {
|
||||
TestingSystemPass download = new TestingSystemPass() {
|
||||
@Override
|
||||
protected boolean needsAnimation() {
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Загрузка базы тестовых задач";
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.ReceiveTestsTasksDatabase, Current.getAccount().email));
|
||||
db_file_bytes = (byte[]) response.object;
|
||||
}
|
||||
};
|
||||
return download.Do();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
protected boolean needsAnimation() {
|
||||
return false;
|
||||
}
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/icons/ComponentsActual.png";
|
||||
}
|
||||
@Override
|
||||
public String getButtonText() {
|
||||
return "";
|
||||
}
|
||||
@Override
|
||||
protected void performPreparation() throws Exception {
|
||||
Global.testingServer.account_db.Disconnect();
|
||||
}
|
||||
@Override
|
||||
protected void showPreparation() throws Exception {
|
||||
Global.testingServer.account_db.SaveLastSelections();
|
||||
Global.testingServer.account_db.packages.ClearUI();
|
||||
Global.testingServer.account_db.sapforTasksPackages.ClearUI();
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
Utils.unpackFile(db_file_bytes, new_db_file = Utils.getTempFileName("tdb"));
|
||||
if (new_db_file.exists()) {
|
||||
Utils.forceDeleteWithCheck(Global.testingServer.account_db.getFile());
|
||||
FileUtils.moveFile(new_db_file, Global.testingServer.account_db.getFile());
|
||||
Global.testingServer.account_db.setFile(Current.getAccount().email);
|
||||
}
|
||||
//--
|
||||
Global.testingServer.account_db.Connect();
|
||||
Global.testingServer.account_db.CreateAllTables();
|
||||
Global.testingServer.account_db.prepareTablesStatements();
|
||||
Global.testingServer.account_db.Synchronize();
|
||||
UI.getMainWindow().getTestingWindow().RemountTestTable();
|
||||
//--
|
||||
}
|
||||
@Override
|
||||
protected boolean validate() {
|
||||
return (db_file_bytes != null);
|
||||
}
|
||||
@Override
|
||||
protected void showFinish() throws Exception {
|
||||
Global.testingServer.account_db.packages.ShowUI();
|
||||
Global.testingServer.account_db.sapforTasksPackages.ShowUI();
|
||||
Global.testingServer.account_db.RestoreLastSelections();
|
||||
if (!Global.testingServer.account_db.hasActivePackages()) {
|
||||
Global.properties.updateField("AutoCheckTesting", false);
|
||||
TestingServer.TimerOff();
|
||||
UI.testingBar.ShowAutoCheckTesting();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.All;
|
||||
import Common.Global;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.SapforTasksPackage;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Date;
|
||||
public class UnpackSapforTasksPackage extends UnzipFolderPass<SapforTasksPackage> {
|
||||
@Override
|
||||
protected boolean needsAnimation() {
|
||||
return true;
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) {
|
||||
File tmpArchive = (File) args[0];
|
||||
target = (SapforTasksPackage) args[1];
|
||||
return super.canStart(tmpArchive.getAbsolutePath(),Global.SapforPackagesDirectory.getAbsolutePath(), false);
|
||||
}
|
||||
@Override
|
||||
protected void performPreparation() throws Exception {
|
||||
super.performPreparation();
|
||||
File packageWorkspace = target.getLocalWorkspace();
|
||||
Utils.forceDeleteWithCheck(packageWorkspace);
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
super.body();
|
||||
FileUtils.writeStringToFile(target.getLoadedSign(), new Date().toString());
|
||||
}
|
||||
}
|
||||
@@ -5,20 +5,14 @@ public enum PassCode_2021 {
|
||||
UpdateProperty,
|
||||
ShowAllParallelVariants,
|
||||
ShowParallelVariantsCoverage,
|
||||
AbortSapforTaskPackage,
|
||||
UnpackSapforTasksPackage,
|
||||
//-
|
||||
DeleteServerSapfor,
|
||||
StartSapforTests,
|
||||
InstallServerSapfor,
|
||||
SaveProfile,
|
||||
ApplyProfile,
|
||||
EditProfile,
|
||||
DeleteProfile,
|
||||
//-
|
||||
DeleteSapforTasksPackage,
|
||||
//-
|
||||
//-
|
||||
CheckAccount,
|
||||
CheckRegistrationOnServer,
|
||||
EditAccount,
|
||||
@@ -235,7 +229,6 @@ public enum PassCode_2021 {
|
||||
EditDVMParameter,
|
||||
DeleteDVMParameter,
|
||||
//-
|
||||
SynchronizeTestsTasks,
|
||||
SPF_GetArrayLinks,
|
||||
Precompilation,
|
||||
GCOV,
|
||||
@@ -252,11 +245,8 @@ public enum PassCode_2021 {
|
||||
PublishConfiguration,
|
||||
EditConfiguration,
|
||||
//-
|
||||
StartTests,
|
||||
//-
|
||||
DownloadTaskTest,
|
||||
//-
|
||||
GetTestsQueueSize,
|
||||
ApplyCurrentFunction,
|
||||
//->
|
||||
CheckRemoteWorkspace,
|
||||
@@ -286,13 +276,11 @@ public enum PassCode_2021 {
|
||||
EditSapforConfigurationCommand,
|
||||
DeleteSapforConfigurationCommand,
|
||||
//->
|
||||
DownloadSapforTasksPackage,
|
||||
OpenSapforEtalonVersion,
|
||||
OpenSapforVersion,
|
||||
PublishServerSapfor,
|
||||
DeleteTest,
|
||||
DeleteConfiguration,
|
||||
AbortTaskPackage,
|
||||
//--
|
||||
CreateGroupFromDirectory,
|
||||
CreateTestFromDirectory,
|
||||
@@ -301,7 +289,6 @@ public enum PassCode_2021 {
|
||||
CreateTestFromFile,
|
||||
CreateTestsFromFiles,
|
||||
CreateGroupFromFiles,
|
||||
DeleteTasksPackage,
|
||||
DeleteSubscriberWorkspace,
|
||||
ExportTasksPackageToExcel,
|
||||
//->
|
||||
@@ -356,8 +343,6 @@ public enum PassCode_2021 {
|
||||
return "Экспорт пакета задач в Excel";
|
||||
case DeleteSubscriberWorkspace:
|
||||
return "Удалить рабочее пространство пользователя";
|
||||
case DeleteTasksPackage:
|
||||
return "Удалить пакет задач";
|
||||
case CreateGroupFromFiles:
|
||||
return "Создать группу из файлов в папке";
|
||||
case CreateTestsFromFiles:
|
||||
@@ -374,8 +359,6 @@ public enum PassCode_2021 {
|
||||
return "Удаление Open MP директив";
|
||||
case CreateGroupFromDirectory:
|
||||
return "Создать группу тестов из папки";
|
||||
case AbortTaskPackage:
|
||||
return "Прерывать пакет тестирования DVM";
|
||||
case DeleteConfiguration:
|
||||
return "Удалить конфигурацию";
|
||||
case DeleteTest:
|
||||
@@ -390,22 +373,12 @@ public enum PassCode_2021 {
|
||||
return "Открыть текущую эталонную версию SAPFOR как проект";
|
||||
case OpenSapforVersion:
|
||||
return "Открыть текущую версию SAPFOR как проект";
|
||||
case UnpackSapforTasksPackage:
|
||||
return "Распаковка пакета задач SAPFOR";
|
||||
case DownloadSapforTasksPackage:
|
||||
return "Загрузить пакет задач SAPFOR";
|
||||
case AbortSapforTaskPackage:
|
||||
return "Прервать пакет задач SAPFOR";
|
||||
case ShowAllParallelVariants:
|
||||
return "Отобразить все параллельные варианты";
|
||||
case ShowParallelVariantsCoverage:
|
||||
return "Отобразить минимальное покрытие параллельных вариантов";
|
||||
case DeleteSapforTasksPackage:
|
||||
return "Удалить пакет задач SAPFOR";
|
||||
case DeleteServerSapfor:
|
||||
return "Удалить версию SAPFOR";
|
||||
case StartSapforTests:
|
||||
return "Запустить тестирование на сервере";
|
||||
case InstallServerSapfor:
|
||||
return "Собрать актуальную версию SAPFOR";
|
||||
case EditProfile:
|
||||
@@ -492,12 +465,8 @@ public enum PassCode_2021 {
|
||||
return "Публикация удалённой рабочей папки";
|
||||
case ApplyCurrentFunction:
|
||||
return "Назначить текущую функцию по имени";
|
||||
case GetTestsQueueSize:
|
||||
return "Очередь перед текущим пакетом";
|
||||
case DownloadTaskTest:
|
||||
return "Загрузить тест текущей задачи";
|
||||
case StartTests:
|
||||
return "Запуск тестов";
|
||||
case PublishConfiguration:
|
||||
return "Опубликовать конфигурацию тестирования";
|
||||
case EditConfiguration:
|
||||
@@ -524,8 +493,6 @@ public enum PassCode_2021 {
|
||||
return "Предварительная компиляция на локальной машине";
|
||||
case SPF_GetArrayLinks:
|
||||
return "Получить связи между массивами";
|
||||
case SynchronizeTestsTasks:
|
||||
return "Синхронизация базы данных тестовых задач.";
|
||||
case SaveBugReportExecutor:
|
||||
return "Назначить исполнителя отчёта об ошибке";
|
||||
case SaveBugReportRecipients:
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.Server;
|
||||
import Common.Current;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Database.Database;
|
||||
import Common.Global;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
import javafx.util.Pair;
|
||||
public class DeleteServerAccountObject<D extends DBObject> extends DeleteServerObject<TestingServer, D> {
|
||||
public DeleteServerAccountObject(Class<D> d_in) {
|
||||
super(Global.testingServer, d_in);
|
||||
}
|
||||
@Override
|
||||
protected Database getDb() {
|
||||
return Global.testingServer.account_db;
|
||||
}
|
||||
@Override
|
||||
protected void ServerAction() throws Exception {
|
||||
Command(new ServerExchangeUnit_2021(ServerCode.DeleteAccountObjectByPK, Current.getAccount().email,
|
||||
new Pair<>(target.getClass(), target.getPK())));
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
package Visual_DVM_2021.Passes.Server;
|
||||
import Common.Current;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Database.Database;
|
||||
import Common.Global;
|
||||
import TestingSystem.Common.TestingServer;
|
||||
public class PublishServerAccountObject<D extends DBObject> extends PublishServerObject<TestingServer, D> {
|
||||
public PublishServerAccountObject(Class<D> d_in) {
|
||||
super(Global.testingServer, d_in);
|
||||
}
|
||||
@Override
|
||||
protected Database getDb() {
|
||||
return Global.testingServer.account_db;
|
||||
}
|
||||
@Override
|
||||
protected String getEmail() {
|
||||
return Current.getAccount().email;
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,6 @@ public interface TestingWindow extends VisualizerForm {
|
||||
void ShowNoTestRunTask();
|
||||
//-
|
||||
void RefreshTabsNames();
|
||||
void RemountTestTable();
|
||||
//-
|
||||
void FocusTestingTasks();
|
||||
void ShowCurrentSapforPackageVersionEtalon();
|
||||
|
||||
29
src/Visual_DVM_2021/UI/Main/DVMRunTasksComparisonForm.java
Normal file
29
src/Visual_DVM_2021/UI/Main/DVMRunTasksComparisonForm.java
Normal file
@@ -0,0 +1,29 @@
|
||||
package Visual_DVM_2021.UI.Main;
|
||||
import Common.Current;
|
||||
import TestingSystem.DVM.DVMTasks.DVMRunTask;
|
||||
public class DVMRunTasksComparisonForm extends TasksComparisonForm<DVMRunTask> {
|
||||
public DVMRunTasksComparisonForm(ComparisonForm<DVMRunTask> slave_in) {
|
||||
super(DVMRunTask.class, slave_in);
|
||||
}
|
||||
@Override
|
||||
protected Current getCurrentObjectName() {
|
||||
return Current.DVMRunTask;
|
||||
}
|
||||
@Override
|
||||
protected String getTextByTab() {
|
||||
switch (status) {
|
||||
case CompilationOutput:
|
||||
return object.getCompilationOutput();
|
||||
case CompilationErrors:
|
||||
return object.getCompilationErrors();
|
||||
case RunOutput:
|
||||
return object.getOutput();
|
||||
case RunErrors:
|
||||
return object.getErrors();
|
||||
case Sts:
|
||||
return object.getStatistic();
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,8 @@ import Common.UI.Label.ShortLabel;
|
||||
import Common.UI.Menus_2023.VisualiserMenuBar;
|
||||
import Common.UI.UI;
|
||||
import Common.Utils.TextLog;
|
||||
import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
|
||||
import TestingSystem.SAPFOR.SapforTask.SapforTask;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.SapforTasksPackage;
|
||||
import TestingSystem.SAPFOR.SapforTasksPackage.UI.SapforTasksPackageTree;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.Pass_2021;
|
||||
@@ -31,7 +31,7 @@ public class SapforPackagesComparisonForm {
|
||||
SapforPackagesComparisonForm slave = null;
|
||||
SapforPackagesComparisonForm master = null;
|
||||
//-->>
|
||||
protected SapforTasksPackage object = null;
|
||||
protected SapforPackage object = null;
|
||||
//-->>
|
||||
// protected DataSet<String, SapforTaskResult> packageTasks;
|
||||
protected SapforTasksPackageTree Body;
|
||||
@@ -63,17 +63,19 @@ public class SapforPackagesComparisonForm {
|
||||
}
|
||||
}
|
||||
public void ApplyObject() {
|
||||
/*
|
||||
//---
|
||||
RemoveObject();
|
||||
//---
|
||||
TextLog log = new TextLog();
|
||||
if (Current.Check(log, Current.SapforTasksPackage)) {
|
||||
object = Current.getSapforTasksPackage();
|
||||
if (object.isLoaded() || (Pass_2021.passes.get(PassCode_2021.DownloadSapforTasksPackage).Do(object))) {
|
||||
if (Current.Check(log, Current.SapforPackage)) {
|
||||
object = Current.getSapforPackage();
|
||||
if (object.isLoaded() || (Pass_2021.passes.get(PassCode_2021.DownloadSapforPackage).Do(object))) {
|
||||
showObject();
|
||||
}
|
||||
} else
|
||||
UI.Info(log.toString());
|
||||
*/
|
||||
}
|
||||
public void Show() throws Exception {
|
||||
}
|
||||
@@ -89,6 +91,7 @@ public class SapforPackagesComparisonForm {
|
||||
}
|
||||
//---
|
||||
public void showCommonTree() {
|
||||
/*
|
||||
//---
|
||||
treePanel.add(treeScroll = new JScrollPane(
|
||||
Body = new SapforTasksPackageTree(object.results.root,
|
||||
@@ -96,20 +99,25 @@ public class SapforPackagesComparisonForm {
|
||||
)));
|
||||
treePanel.repaint();
|
||||
treePanel.revalidate();
|
||||
|
||||
*/
|
||||
}
|
||||
public void showComparisonTree() {
|
||||
/*
|
||||
treePanel.add(treeScroll = new JScrollPane(
|
||||
Body = new SapforTasksPackageTree(object.results.comparison_root,
|
||||
isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion
|
||||
)));
|
||||
treePanel.repaint();
|
||||
treePanel.revalidate();
|
||||
*/
|
||||
}
|
||||
//---
|
||||
public void showNoTree() {
|
||||
UI.Clear(treePanel);
|
||||
}
|
||||
public void showObject() {
|
||||
/*
|
||||
lObjectName.setText(object.getPK().toString() + (isMaster() ? "(эталон)" : ""));
|
||||
lObjectName.setToolTipText(object.getPK().toString());
|
||||
//--
|
||||
@@ -117,6 +125,7 @@ public class SapforPackagesComparisonForm {
|
||||
object.readResults();
|
||||
//--
|
||||
showCommonTree();
|
||||
*/
|
||||
}
|
||||
protected String getText() {
|
||||
return "";
|
||||
@@ -164,8 +173,8 @@ public class SapforPackagesComparisonForm {
|
||||
}
|
||||
public void DoComparePass() {
|
||||
Pass_2021 pass = new Pass_2021() {
|
||||
SapforTasksPackage package1;
|
||||
SapforTasksPackage package2;
|
||||
SapforPackage package1;
|
||||
SapforPackage package2;
|
||||
@Override
|
||||
public String getDescription() {
|
||||
return "Сравнение";
|
||||
@@ -193,11 +202,13 @@ public class SapforPackagesComparisonForm {
|
||||
Log.Writeln_("Наборы конфигураций не совпадают!");
|
||||
return false;
|
||||
}
|
||||
/*
|
||||
for (String key1 : package1.results.allTasks.keySet()) {
|
||||
if (!package2.results.allTasks.containsKey(key1)) {
|
||||
Log.Writeln_("Задача эталона " + key1 + "не найдена в сравниваемом пакете!");
|
||||
}
|
||||
}
|
||||
*/
|
||||
return Log.isEmpty();
|
||||
}
|
||||
return false;
|
||||
@@ -210,8 +221,8 @@ public class SapforPackagesComparisonForm {
|
||||
treeScroll = null;
|
||||
slave.treeScroll = null;
|
||||
//--
|
||||
package1.results.DropComparison();
|
||||
package2.results.DropComparison();
|
||||
// package1.results.DropComparison();
|
||||
// package2.results.DropComparison();
|
||||
}
|
||||
@Override
|
||||
protected void showPreparation() throws Exception {
|
||||
@@ -223,6 +234,7 @@ public class SapforPackagesComparisonForm {
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
/*
|
||||
System.out.println(package1.results.allTasks.size());
|
||||
System.out.println(package2.results.allTasks.size());
|
||||
//теперь сравниваем задачи
|
||||
@@ -242,6 +254,7 @@ public class SapforPackagesComparisonForm {
|
||||
//-
|
||||
package1.results.buildComparisonTree(package1);
|
||||
package2.results.buildComparisonTree(package2);
|
||||
*/
|
||||
}
|
||||
@Override
|
||||
protected boolean validate() {
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
package Visual_DVM_2021.UI.Main;
|
||||
import Common.Current;
|
||||
import TestingSystem.DVM.Tasks.TestRunTask;
|
||||
public class TestRunTasksComparisonForm extends TasksComparisonForm<TestRunTask> {
|
||||
public TestRunTasksComparisonForm(ComparisonForm<TestRunTask> slave_in) {
|
||||
super(TestRunTask.class, slave_in);
|
||||
}
|
||||
@Override
|
||||
protected Current getCurrentObjectName() {
|
||||
return Current.TestRunTask;
|
||||
}
|
||||
@Override
|
||||
protected String getTextByTab() {
|
||||
switch (status) {
|
||||
case CompilationOutput:
|
||||
return object.compilation_output;
|
||||
case CompilationErrors:
|
||||
return object.compilation_errors;
|
||||
case RunOutput:
|
||||
return object.output;
|
||||
case RunErrors:
|
||||
return object.errors;
|
||||
case Sts:
|
||||
return object.statistic;
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -281,25 +281,6 @@
|
||||
</grid>
|
||||
</children>
|
||||
</grid>
|
||||
<grid id="68338" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||
<constraints>
|
||||
<tabbedpane title="" icon="icons/MassFiles.png">
|
||||
<tooltip value="Список задач"/>
|
||||
</tabbedpane>
|
||||
</constraints>
|
||||
<properties>
|
||||
<enabled value="true"/>
|
||||
</properties>
|
||||
<border type="none"/>
|
||||
<children>
|
||||
<grid id="1beb4" binding="sapforTasksPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
|
||||
<constraints border-constraint="Center"/>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children/>
|
||||
</grid>
|
||||
</children>
|
||||
</grid>
|
||||
</children>
|
||||
</tabbedpane>
|
||||
</children>
|
||||
|
||||
@@ -48,14 +48,13 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
|
||||
private JPanel serverSapforsPanel;
|
||||
private JPanel sapforPackagesPanel;
|
||||
private JTabbedPane sapforPackageTabs;
|
||||
private JPanel sapforTasksPanel;
|
||||
private JPanel testsRunTasksBackground;
|
||||
private JCheckBox filterFinished;
|
||||
private JButton bTest;
|
||||
private JButton bDownloadTestProject;
|
||||
//-
|
||||
private final TestRunTasksComparisonForm dvmTestingRunMaster; //сравнение тестов двм системы.
|
||||
private final TestRunTasksComparisonForm dvmTestingRunSlave;
|
||||
private final DVMRunTasksComparisonForm dvmTestingRunMaster; //сравнение тестов двм системы.
|
||||
private final DVMRunTasksComparisonForm dvmTestingRunSlave;
|
||||
//-
|
||||
private final SapforPackagesComparisonForm sapforPackageTreeMaster; //сравнение деревьев пакетов SAPFOR.
|
||||
private final SapforPackagesComparisonForm sapforPackageTreeSlave;
|
||||
@@ -67,7 +66,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
|
||||
content.add(UI.testingBar, BorderLayout.NORTH);
|
||||
LoadSplitters();
|
||||
//-
|
||||
dvmTestingRunMaster = new TestRunTasksComparisonForm(dvmTestingRunSlave = new TestRunTasksComparisonForm(null));
|
||||
dvmTestingRunMaster = new DVMRunTasksComparisonForm(dvmTestingRunSlave = new DVMRunTasksComparisonForm(null));
|
||||
sapforPackageTreeMaster = new SapforPackagesComparisonForm(sapforPackageTreeSlave = new SapforPackagesComparisonForm(null));
|
||||
sapforVersionMaster = new SapforVersionsComparisonForm(
|
||||
sapforVersionSlave = new SapforVersionsComparisonForm(null, Current.SapforVersion),
|
||||
@@ -162,19 +161,6 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
|
||||
sapforVersionSlave.RemoveObject();
|
||||
}
|
||||
@Override
|
||||
public void RemountTestTable() {
|
||||
UI.Clear(dvmPackagesPanel);
|
||||
UI.Clear(dvmRunTasksPanel);
|
||||
UI.Clear(sapforPackagesPanel);
|
||||
UI.Clear(sapforTasksPanel);
|
||||
DropSapforComparison();
|
||||
//-->>
|
||||
Global.testingServer.account_db.packages.mountUI(dvmPackagesPanel);
|
||||
Global.testingServer.account_db.testRunTasks.mountUI(dvmRunTasksPanel);
|
||||
Global.testingServer.account_db.sapforTasksPackages.mountUI(sapforPackagesPanel);
|
||||
Global.testingServer.account_db.sapforTasks.mountUI(sapforTasksPanel);
|
||||
}
|
||||
@Override
|
||||
public void FocusSapforTesting() {
|
||||
testingTabs.setSelectedIndex(1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user