no message
This commit is contained in:
4
.idea/workspace.xml
generated
4
.idea/workspace.xml
generated
@@ -8,10 +8,10 @@
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ServerCode.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/PerformSapforTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/PerformSapforTask.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/SapforTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/SapforTask.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/TestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/TestingPlanner.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/TestingServer.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
||||
@@ -25,6 +25,7 @@ public enum ServerCode {
|
||||
GetTestProject,
|
||||
StartTests,
|
||||
//-
|
||||
CompareSapforPackages,
|
||||
RefreshDVMTests, //- для админа. получение тестов из репозитория.
|
||||
//-
|
||||
PublishObject,
|
||||
|
||||
@@ -8,6 +8,7 @@ import SapforTestingSystem.Json.*;
|
||||
import SapforTestingSystem.PerformSapforTask;
|
||||
import SapforTestingSystem.SapforTask.SapforTask;
|
||||
import SapforTestingSystem.ThreadsPlanner.ThreadsPlanner;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
@@ -35,6 +36,11 @@ public class PackageModeSupervisor extends ThreadsPlanner {
|
||||
task.flags = sapforConfiguration_json.flags;
|
||||
task.sapfor_configuration_id = sapforConfiguration_json.id;
|
||||
results_json.tasks.add(task);
|
||||
Vector<String> codes_s = new Vector<>();
|
||||
for (PassCode_2021 code: sapforConfiguration_json.codes){
|
||||
codes_s.add(code.toString());
|
||||
}
|
||||
task.codes = String.join(" ", codes_s);
|
||||
//---
|
||||
addThread(() -> {
|
||||
while (!task.state.isComplete()) {
|
||||
|
||||
@@ -29,16 +29,14 @@ public class SapforTask extends DBObject {
|
||||
public String flags = "";
|
||||
@Description("DEFAULT ''")
|
||||
@Expose
|
||||
public String codes = "";
|
||||
@Description("DEFAULT ''")
|
||||
@Expose
|
||||
public String root = "";
|
||||
@Description("DEFAULT 'Inactive'")
|
||||
@Expose
|
||||
public TaskState state = TaskState.Inactive;
|
||||
//-----------
|
||||
/*
|
||||
@Description("DEFAULT ''")
|
||||
@Expose
|
||||
public String filesNames = ""; //для базы данных. имена файлов через enter //а надо ли?
|
||||
*/
|
||||
@Description("IGNORE")
|
||||
@Expose
|
||||
public List<String> files = new Vector<>(); //файлы проекта.Брать из коррекции стиля кода. есть первой версия
|
||||
@@ -83,4 +81,10 @@ public class SapforTask extends DBObject {
|
||||
}
|
||||
return String.join("→", versionsLines);
|
||||
}
|
||||
//должны совпасть им теста, флаги, и коды
|
||||
public boolean isComparable(SapforTask task) throws Exception {
|
||||
return test_description.equalsIgnoreCase(task.test_description) &&
|
||||
flags.equalsIgnoreCase(task.flags) &&
|
||||
codes.equalsIgnoreCase(task.codes);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
package TestingSystem;
|
||||
import Common.Constants;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Database.rDBObject;
|
||||
import Common.Global;
|
||||
@@ -13,6 +14,8 @@ import Repository.RepositoryRefuseException;
|
||||
import Repository.RepositoryServer;
|
||||
import Repository.Server.ServerCode;
|
||||
import Repository.Server.ServerExchangeUnit_2021;
|
||||
import SapforTestingSystem.Json.SapforTasksResults_json;
|
||||
import SapforTestingSystem.SapforTask.SapforTask;
|
||||
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
|
||||
import SapforTestingSystem.ServerSapfor.ServerSapfor;
|
||||
import TestingSystem.Group.Group;
|
||||
@@ -306,11 +309,51 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
groups.sort(Comparator.comparing(o -> o.description));
|
||||
return groups;
|
||||
}
|
||||
public SapforTasksResults_json getSapforPackageResults(SapforTasksPackage sapforTasksPackage) throws Exception {
|
||||
File results_file = new File(sapforTasksPackage.workspace, Constants.results_json);
|
||||
return (SapforTasksResults_json) Utils.jsonFromFile(
|
||||
results_file, SapforTasksResults_json.class);
|
||||
}
|
||||
public String CompareSapforPackages(SapforTasksPackage package1, SapforTasksPackage package2) throws Exception {
|
||||
String res = "";
|
||||
// чтобы сравнивать. должен быть идентичный список тестов. (без учета последовательности)
|
||||
// идентичный набор проходов (с учетом последовательности)
|
||||
//идентичный набор флагов (?) без учета последовательности.
|
||||
// то есть должны отличаться только тестируемые версии САПФОР.
|
||||
SapforTasksResults_json results1_json = getSapforPackageResults(package1);
|
||||
SapforTasksResults_json results2_json = getSapforPackageResults(package2);
|
||||
if (results1_json.tasks.size()!=results2_json.tasks.size())
|
||||
throw new RepositoryRefuseException("В пакетах разное число задач.");
|
||||
//подходит если все задачи из первого пакета содержатся во втором, и размер одинаковый.
|
||||
for (SapforTask task1 : results1_json.tasks) {
|
||||
//на
|
||||
boolean match = false;
|
||||
for (SapforTask task2: results2_json.tasks){
|
||||
if (task1.isComparable(task2)) {
|
||||
match = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!match)
|
||||
throw new RepositoryRefuseException("Задачи в пакетах не совпадают!");
|
||||
}
|
||||
return "";
|
||||
}
|
||||
@Override
|
||||
protected void Session() throws Exception {
|
||||
DBObject dbObject = null;
|
||||
Test test = null;
|
||||
switch (code) {
|
||||
case CompareSapforPackages:
|
||||
SetCurrentAccountDB(request.arg);
|
||||
Pair<String, String> keys = (Pair<String, String>) request.object;
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
response.object =
|
||||
CompareSapforPackages(
|
||||
account_db.sapforTasksPackages.get(keys.getKey()),
|
||||
account_db.sapforTasksPackages.get(keys.getValue())
|
||||
);
|
||||
break;
|
||||
case SynchronizeTests:
|
||||
//временный проход. синхронизирует тесты на заданной машине, с сервера.
|
||||
Print("Синхронизация тестов");
|
||||
|
||||
Reference in New Issue
Block a user