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