форматирование вывода результатов тестирования в почте.
This commit is contained in:
9
.idea/workspace.xml
generated
9
.idea/workspace.xml
generated
@@ -7,10 +7,15 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforTest_json.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/ProjectData/Messages/Message.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/ProjectData/Messages/Message.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/Current.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Current.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/Utils/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Utils/Utils.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforTasksPackage_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/Json/SapforTasksPackage_json.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/SapforTask/SapforTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTask/SapforTask.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackageSupervisor/SapforTasksPackageSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackageSupervisor/SapforTasksPackageSupervisor.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/TestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/TestingPlanner.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
|
||||
@@ -386,7 +386,7 @@ public enum Current {
|
||||
case ServerSapfor:
|
||||
return "тестовая версия SAPFOR";
|
||||
case SapforTasksPackage:
|
||||
return "сценарий SAPFOR";
|
||||
return "пакет задач SAPFOR";
|
||||
case SapforProfile:
|
||||
return "Профиль SAPFOR";
|
||||
case SapforProfileSetting:
|
||||
|
||||
@@ -79,6 +79,9 @@ public class Utils {
|
||||
public static String Brackets(Object o) {
|
||||
return "[" + o.toString() + "]";
|
||||
}
|
||||
public static String Bold(Object o) {
|
||||
return "<b>" + o.toString() + "</b>";
|
||||
}
|
||||
public static String RBrackets(Object o) {
|
||||
return "(" + o.toString() + ")";
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ public class SapforTasksPackage_json {
|
||||
@Expose
|
||||
public String sapfor_drv = ""; //файл с сапфором. Имя уникально для сценария.
|
||||
@Expose
|
||||
public List<String> tests = new Vector<>();
|
||||
public List<SapforTest_json> tests = new Vector<>();
|
||||
@Expose
|
||||
public List<SapforConfiguration_json> configurations = new Vector<>();
|
||||
}
|
||||
|
||||
8
src/SapforTestingSystem/Json/SapforTest_json.java
Normal file
8
src/SapforTestingSystem/Json/SapforTest_json.java
Normal file
@@ -0,0 +1,8 @@
|
||||
package SapforTestingSystem.Json;
|
||||
import com.google.gson.annotations.Expose;
|
||||
public class SapforTest_json {
|
||||
@Expose
|
||||
public String test_description = "";
|
||||
@Expose
|
||||
public String group_description = "";
|
||||
}
|
||||
@@ -5,6 +5,7 @@ import Common.Utils.Utils;
|
||||
import SapforTestingSystem.Json.SapforConfiguration_json;
|
||||
import SapforTestingSystem.Json.SapforTasksPackage_json;
|
||||
import SapforTestingSystem.Json.SapforTasksResults_json;
|
||||
import SapforTestingSystem.Json.SapforTest_json;
|
||||
import SapforTestingSystem.PerformSapforTask;
|
||||
import SapforTestingSystem.SapforTask.SapforTask;
|
||||
import SapforTestingSystem.ThreadsPlanner.ThreadsPlanner;
|
||||
@@ -26,10 +27,11 @@ public class PackageModeSupervisor extends ThreadsPlanner {
|
||||
File sapfor_drv = new File(Global.Home, package_json.sapfor_drv);
|
||||
setMaxKernels(package_json.kernels);
|
||||
for (SapforConfiguration_json sapforConfiguration_json : package_json.configurations) {
|
||||
for (String testName : package_json.tests) {
|
||||
for (SapforTest_json test : package_json.tests) {
|
||||
//--- чтобы было можно на нее сослаться после выполнения всех нитей.
|
||||
SapforTask task = new SapforTask();
|
||||
task.test_description = testName;
|
||||
task.group_description = test.group_description;
|
||||
task.test_description = test.test_description;
|
||||
task.flags = sapforConfiguration_json.flags;
|
||||
task.sapfor_configuration_id = sapforConfiguration_json.id;
|
||||
results_json.tasks.add(task);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package SapforTestingSystem.SapforTask;
|
||||
import Common.Constants;
|
||||
import Common.Database.DBObject;
|
||||
import Common.Utils.Utils;
|
||||
import GlobalData.Tasks.TaskState;
|
||||
import SapforTestingSystem.Json.SapforVersion_json;
|
||||
import com.google.gson.annotations.Expose;
|
||||
@@ -21,6 +22,9 @@ public class SapforTask extends DBObject {
|
||||
public String test_description = "";
|
||||
@Description("DEFAULT ''")
|
||||
@Expose
|
||||
public String group_description = "";
|
||||
@Description("DEFAULT ''")
|
||||
@Expose
|
||||
public String flags = "";
|
||||
@Description("DEFAULT ''")
|
||||
@Expose
|
||||
@@ -62,7 +66,7 @@ public class SapforTask extends DBObject {
|
||||
public String getVersionsChain(){
|
||||
Vector<String> versionsLines = new Vector<>();
|
||||
for (int i=1; i< versions.size(); ++i ){
|
||||
versionsLines.add(versions.get(i).description);
|
||||
versionsLines.add(Utils.Brackets(versions.get(i).description));
|
||||
}
|
||||
return String.join("→", versionsLines);
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ public class SapforTasksPackage extends nDBObject {
|
||||
public int kernels = 1; //количество потоков.
|
||||
@Description("DEFAULT 'TestsSynchronize'")
|
||||
public TasksPackageState state = TasksPackageState.TestsSynchronize;
|
||||
|
||||
@Description("DEFAULT ''")
|
||||
public String testsIds = "";
|
||||
@Description("DEFAULT ''")
|
||||
|
||||
@@ -7,9 +7,11 @@ import Common.Utils.Utils;
|
||||
import Repository.Server.ServerCode;
|
||||
import SapforTestingSystem.Json.SapforConfiguration_json;
|
||||
import SapforTestingSystem.Json.SapforTasksPackage_json;
|
||||
import SapforTestingSystem.Json.SapforTest_json;
|
||||
import SapforTestingSystem.SapforConfiguration.SapforConfiguration;
|
||||
import SapforTestingSystem.SapforConfiguration.SapforConfigurationInterface;
|
||||
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
|
||||
import TestingSystem.Group.Group;
|
||||
import TestingSystem.TasksPackage.TasksPackageState;
|
||||
import TestingSystem.Test.Test;
|
||||
import TestingSystem.TestingPlanner;
|
||||
@@ -36,11 +38,24 @@ public class SapforTasksPackageSupervisor {
|
||||
Vector<Object> configurations_ = (Vector<Object>) planner.ServerCommand(ServerCode.GetObjectsCopiesByPK, "", new Pair<>(SapforConfiguration.class, configurationsIds));
|
||||
LinkedHashMap<String, Test> tests = new LinkedHashMap<>();
|
||||
LinkedHashMap<String, SapforConfiguration> configurations = new LinkedHashMap<>();
|
||||
Vector<String> groupsIds = new Vector<>();
|
||||
LinkedHashMap<String, Group> groups = new LinkedHashMap<>();
|
||||
//--
|
||||
for (Object o : tests_) {
|
||||
Test test = (Test) o;
|
||||
System.out.println(test.description);
|
||||
tests.put(test.id, test);
|
||||
if (!groupsIds.contains(test.group_id))
|
||||
groupsIds.add(test.group_id);
|
||||
}
|
||||
//--
|
||||
Vector<Object> groups_ = (Vector<Object>) planner.ServerCommand(ServerCode.GetObjectsCopiesByPK, "", new Pair<>(Group.class, groupsIds));
|
||||
for (Object o : groups_) {
|
||||
Group group = (Group) o;
|
||||
System.out.println(group.description);
|
||||
groups.put(group.id, group);
|
||||
}
|
||||
//--
|
||||
for (Object o : configurations_) {
|
||||
SapforConfiguration sapforConfiguration = (SapforConfiguration) o;
|
||||
System.out.println(sapforConfiguration.id);
|
||||
@@ -49,8 +64,12 @@ public class SapforTasksPackageSupervisor {
|
||||
//--
|
||||
SapforTasksPackage_json package_json = new SapforTasksPackage_json();
|
||||
package_json.kernels = sapforTasksPackage.kernels;
|
||||
for (String test_id : testsIds)
|
||||
package_json.tests.add(tests.get(test_id).description);
|
||||
for (Test test : tests.values()) {
|
||||
SapforTest_json test_json = new SapforTest_json();
|
||||
test_json.test_description = test.description;
|
||||
test_json.group_description = groups.get(test.group_id).description;
|
||||
package_json.tests.add(test_json);
|
||||
}
|
||||
//создание рабочего пространства для пакетного режима
|
||||
File packageWorkspace = new File(Global.SapforPackagesDirectory, String.valueOf(sapforTasksPackage.id));
|
||||
Utils.CheckAndCleanDirectory(packageWorkspace);
|
||||
|
||||
@@ -245,22 +245,28 @@ public class TestingPlanner {
|
||||
File results_json_file = new File(sapforTasksPackage.workspace, Constants.results_json);
|
||||
if (results_json_file.exists()) {
|
||||
SapforTasksResults_json results_json = (SapforTasksResults_json) Utils.jsonFromFile(results_json_file, SapforTasksResults_json.class);
|
||||
result_lines.add("");
|
||||
result_lines.add("Всего задач: " + results_json.tasks.size());
|
||||
LinkedHashMap<TaskState, LinkedHashMap<String, Vector<SapforTask>>> sortedTasks = new LinkedHashMap<>();
|
||||
LinkedHashMap<TaskState, LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>>> sortedTasks = new LinkedHashMap<>();
|
||||
//рассортировать задачи по конфигурациям.
|
||||
for (TaskState state : TaskState.values()) {
|
||||
LinkedHashMap<String, Vector<SapforTask>> tasksByFlags = new LinkedHashMap<>();
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByFlags = new LinkedHashMap<>();
|
||||
sortedTasks.put(state, tasksByFlags);
|
||||
//--
|
||||
for (SapforTask task : results_json.tasks) {
|
||||
if (task.state.equals(state)) {
|
||||
Vector<SapforTask> tasks = null;
|
||||
LinkedHashMap<String, Vector<SapforTask>> groups_tasks = null;
|
||||
if (tasksByFlags.containsKey(task.flags)) {
|
||||
tasks = tasksByFlags.get(task.flags);
|
||||
groups_tasks = tasksByFlags.get(task.flags);
|
||||
} else {
|
||||
groups_tasks = new LinkedHashMap<>();
|
||||
tasksByFlags.put(task.flags, groups_tasks);
|
||||
}
|
||||
Vector<SapforTask> tasks = null;
|
||||
if (groups_tasks.containsKey(task.group_description)) {
|
||||
tasks = groups_tasks.get(task.group_description);
|
||||
} else {
|
||||
tasks = new Vector<>();
|
||||
tasksByFlags.put(task.flags, tasks);
|
||||
groups_tasks.put(task.group_description, tasks);
|
||||
}
|
||||
tasks.add(task);
|
||||
}
|
||||
@@ -268,22 +274,36 @@ public class TestingPlanner {
|
||||
}
|
||||
//--
|
||||
for (TaskState state : sortedTasks.keySet()) {
|
||||
LinkedHashMap<String, Vector<SapforTask>> tasksByFlags = sortedTasks.get(state);
|
||||
LinkedHashMap<String, LinkedHashMap<String, Vector<SapforTask>>> tasksByFlags = sortedTasks.get(state);
|
||||
if (!tasksByFlags.isEmpty()) {
|
||||
int count = 0;
|
||||
if (state.equals(TaskState.DoneWithErrors)) {
|
||||
Vector<String> tasksLines = new Vector<>();
|
||||
Vector<String> flagsLines = new Vector<>();
|
||||
for (String flags : tasksByFlags.keySet()) {
|
||||
Vector<SapforTask> tasks = tasksByFlags.get(flags);
|
||||
LinkedHashMap<String, Vector<SapforTask>> tasksByGroups = tasksByFlags.get(flags);
|
||||
for (String group : tasksByGroups.keySet()) {
|
||||
Vector<SapforTask> tasks = tasksByGroups.get(group);
|
||||
flagsLines.add("Группа " + group + ": "+tasks.size());
|
||||
count += tasks.size();
|
||||
for (SapforTask task : tasks)
|
||||
tasksLines.add(task.test_description + " " + flags + " " + task.getVersionsChain());
|
||||
flagsLines.add(
|
||||
"тест: " +
|
||||
Utils.Brackets(task.test_description) + " " +
|
||||
"флаги: "
|
||||
+ Utils.Brackets(flags) + " " +
|
||||
"версии: " +
|
||||
task.getVersionsChain());
|
||||
}
|
||||
}
|
||||
result_lines.add(state.getDescription() + " :" + count);
|
||||
result_lines.addAll(tasksLines);
|
||||
result_lines.addAll(flagsLines);
|
||||
} else {
|
||||
for (String flags : tasksByFlags.keySet()) {
|
||||
count += tasksByFlags.get(flags).size();
|
||||
LinkedHashMap<String, Vector<SapforTask>> tasksByGroups = tasksByFlags.get(flags);
|
||||
for (String group : tasksByGroups.keySet()) {
|
||||
Vector<SapforTask> tasks = tasksByGroups.get(group);
|
||||
count += tasks.size();
|
||||
}
|
||||
}
|
||||
result_lines.add(state.getDescription() + " :" + count);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user