распечатка задач с ошибками в почте

This commit is contained in:
2023-10-20 02:16:12 +03:00
parent 8c1cd78fc7
commit a334d55522
5 changed files with 56 additions and 20 deletions

4
.idea/workspace.xml generated
View File

@@ -8,8 +8,8 @@
<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 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/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.java" 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/SapforTestingSystem/PerformSapforTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/PerformSapforTask.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/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/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>

View File

@@ -279,6 +279,8 @@ public class Message extends FileObject {
codedMessages.put("R199", "Зависимость по скаляру с типом lastprivate препятствует распараллеливанию данного цикла"); codedMessages.put("R199", "Зависимость по скаляру с типом lastprivate препятствует распараллеливанию данного цикла");
codedMessages.put("R200", "Добавлена lastprivate переменная '%s' к циклу на строке %d"); codedMessages.put("R200", "Добавлена lastprivate переменная '%s' к циклу на строке %d");
codedMessages.put("R202", "Ссылка '%s' имеет отличный от оригинального массива размер"); codedMessages.put("R202", "Ссылка '%s' имеет отличный от оригинального массива размер");
//2025
codedMessages.put("R203", "Нельзя удалить приватную переменную '%s' - она используется в вызове функции на строке %d");
//3002 //3002
//3001 //3001
codedMessages.put("R108", "Добавлена across-зависимость к массиву '%s' в цикле."); codedMessages.put("R108", "Добавлена across-зависимость к массиву '%s' в цикле.");

View File

@@ -62,7 +62,7 @@ public class Visualiser extends Component {
//http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html //http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html
@Override @Override
public void GetVersionInfo() { public void GetVersionInfo() {
version = 1022; version = 1023;
String pattern = "MMM dd yyyy HH:mm:ss"; String pattern = "MMM dd yyyy HH:mm:ss";
DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH); DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH);
date_text = df.format(getClassBuildTime()); date_text = df.format(getClassBuildTime());

View File

@@ -59,4 +59,11 @@ public class SapforTask extends DBObject {
test_description = t.test_description; test_description = t.test_description;
state = t.state; state = t.state;
} }
public String getVersionsChain(){
Vector<String> versionsLines = new Vector<>();
for (int i=1; i< versions.size(); ++i ){
versionsLines.add(versions.get(i).description);
}
return String.join("", versionsLines);
}
} }

View File

@@ -1,11 +1,15 @@
package TestingSystem; package TestingSystem;
import Common.Constants;
import Common.Global; import Common.Global;
import Common.Utils.Utils; import Common.Utils.Utils;
import GlobalData.Machine.Machine; import GlobalData.Machine.Machine;
import GlobalData.Tasks.TaskState;
import GlobalData.User.User; import GlobalData.User.User;
import Repository.EmailMessage; import Repository.EmailMessage;
import Repository.Server.ServerCode; import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021; import Repository.Server.ServerExchangeUnit_2021;
import SapforTestingSystem.Json.SapforTasksResults_json;
import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage; import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import SapforTestingSystem.SapforTasksPackageSupervisor.SapforTasksPackageSupervisor; import SapforTestingSystem.SapforTasksPackageSupervisor.SapforTasksPackageSupervisor;
import TestingSystem.Tasks.TestCompilationTask; import TestingSystem.Tasks.TestCompilationTask;
@@ -238,32 +242,55 @@ public class TestingPlanner {
public String PrintSapforPackageResults() throws Exception { public String PrintSapforPackageResults() throws Exception {
String result = ""; String result = "";
Vector<String> result_lines = new Vector<>(); Vector<String> result_lines = new Vector<>();
/*
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, SapforTasksPackage_json.class); SapforTasksResults_json results_json = (SapforTasksResults_json) Utils.jsonFromFile(results_json_file, SapforTasksResults_json.class);
result = String.join("\n", result_lines);
result_lines.add(""); result_lines.add("");
LinkedHashMap<String, Vector<SapforTask>> tasksByConfigurations = new LinkedHashMap<>(); result_lines.add("Всего задач: " + results_json.tasks.size());
LinkedHashMap<TaskState, LinkedHashMap<String, Vector<SapforTask>>> sortedTasks = new LinkedHashMap<>();
//рассортировать задачи по конфигурациям. //рассортировать задачи по конфигурациям.
for (SapforTask task : results_json.tasks) { for (TaskState state : TaskState.values()) {
task. LinkedHashMap<String, Vector<SapforTask>> tasksByFlags = new LinkedHashMap<>();
sortedTasks.put(state, tasksByFlags);
//-- //--
if (tasksByConfigurations.containsKey(task.sapfor_configuration_id)) { for (SapforTask task : results_json.tasks) {
tasksByConfigurations.get(task.sapfor_configuration_id).add(task); if (task.state.equals(state)) {
} else { Vector<SapforTask> tasks = null;
Vector<SapforTask> tasks_ = new Vector<>(); if (tasksByFlags.containsKey(task.flags)) {
tasks_.add(task); tasks = tasksByFlags.get(task.flags);
tasksByConfigurations.put(task.sapfor_configuration_id, tasks_); } else {
tasks = new Vector<>();
tasksByFlags.put(task.flags, tasks);
}
tasks.add(task);
}
} }
//--
} }
//распечатать непрошедшие тесты. //--
for (String configuration_id: tasksByConfigurations.keySet()){ for (TaskState state : sortedTasks.keySet()) {
LinkedHashMap<String, Vector<SapforTask>> tasksByFlags = sortedTasks.get(state);
if (!tasksByFlags.isEmpty()) {
int count = 0;
if (state.equals(TaskState.DoneWithErrors)) {
Vector<String> tasksLines = new Vector<>();
for (String flags : tasksByFlags.keySet()) {
Vector<SapforTask> tasks = tasksByFlags.get(flags);
count += tasks.size();
for (SapforTask task : tasks)
tasksLines.add(task.test_description + " " + flags + " " + task.getVersionsChain());
}
result_lines.add(state.getDescription() + " :" + count);
result_lines.addAll(tasksLines);
} else {
for (String flags : tasksByFlags.keySet()) {
count += tasksByFlags.get(flags).size();
}
result_lines.add(state.getDescription() + " :" + count);
}
}
} }
result = String.join("\n", result_lines);
} }
*/
return result; return result;
} }
} }