diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 28941ec8..2cf1f5d9 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -8,8 +8,8 @@ - - + + diff --git a/src/ProjectData/Messages/Message.java b/src/ProjectData/Messages/Message.java index e2a21a9a..a33c8743 100644 --- a/src/ProjectData/Messages/Message.java +++ b/src/ProjectData/Messages/Message.java @@ -279,6 +279,8 @@ public class Message extends FileObject { codedMessages.put("R199", "Зависимость по скаляру с типом lastprivate препятствует распараллеливанию данного цикла"); codedMessages.put("R200", "Добавлена lastprivate переменная '%s' к циклу на строке %d"); codedMessages.put("R202", "Ссылка '%s' имеет отличный от оригинального массива размер"); +//2025 + codedMessages.put("R203", "Нельзя удалить приватную переменную '%s' - она используется в вызове функции на строке %d"); //3002 //3001 codedMessages.put("R108", "Добавлена across-зависимость к массиву '%s' в цикле."); diff --git a/src/Repository/Component/Visualiser.java b/src/Repository/Component/Visualiser.java index 9bce5afd..677dee5d 100644 --- a/src/Repository/Component/Visualiser.java +++ b/src/Repository/Component/Visualiser.java @@ -62,7 +62,7 @@ public class Visualiser extends Component { //http://www.seostella.com/ru/article/2012/02/05/formatirovanie-daty-v-java.html @Override public void GetVersionInfo() { - version = 1022; + version = 1023; String pattern = "MMM dd yyyy HH:mm:ss"; DateFormat df = new SimpleDateFormat(pattern, Locale.ENGLISH); date_text = df.format(getClassBuildTime()); diff --git a/src/SapforTestingSystem/SapforTask/SapforTask.java b/src/SapforTestingSystem/SapforTask/SapforTask.java index d56b1d1c..771a1cb5 100644 --- a/src/SapforTestingSystem/SapforTask/SapforTask.java +++ b/src/SapforTestingSystem/SapforTask/SapforTask.java @@ -59,4 +59,11 @@ public class SapforTask extends DBObject { test_description = t.test_description; state = t.state; } + public String getVersionsChain(){ + Vector versionsLines = new Vector<>(); + for (int i=1; i< versions.size(); ++i ){ + versionsLines.add(versions.get(i).description); + } + return String.join("→", versionsLines); + } } diff --git a/src/TestingSystem/TestingPlanner.java b/src/TestingSystem/TestingPlanner.java index 8bebd91e..1b6c2d04 100644 --- a/src/TestingSystem/TestingPlanner.java +++ b/src/TestingSystem/TestingPlanner.java @@ -1,11 +1,15 @@ package TestingSystem; +import Common.Constants; import Common.Global; import Common.Utils.Utils; import GlobalData.Machine.Machine; +import GlobalData.Tasks.TaskState; import GlobalData.User.User; import Repository.EmailMessage; import Repository.Server.ServerCode; import Repository.Server.ServerExchangeUnit_2021; +import SapforTestingSystem.Json.SapforTasksResults_json; +import SapforTestingSystem.SapforTask.SapforTask; import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage; import SapforTestingSystem.SapforTasksPackageSupervisor.SapforTasksPackageSupervisor; import TestingSystem.Tasks.TestCompilationTask; @@ -238,32 +242,55 @@ public class TestingPlanner { public String PrintSapforPackageResults() throws Exception { String result = ""; Vector result_lines = new Vector<>(); - /* 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, SapforTasksPackage_json.class); - result = String.join("\n", result_lines); + SapforTasksResults_json results_json = (SapforTasksResults_json) Utils.jsonFromFile(results_json_file, SapforTasksResults_json.class); result_lines.add(""); - LinkedHashMap> tasksByConfigurations = new LinkedHashMap<>(); + result_lines.add("Всего задач: " + results_json.tasks.size()); + LinkedHashMap>> sortedTasks = new LinkedHashMap<>(); //рассортировать задачи по конфигурациям. - for (SapforTask task : results_json.tasks) { - task. + for (TaskState state : TaskState.values()) { + LinkedHashMap> tasksByFlags = new LinkedHashMap<>(); + sortedTasks.put(state, tasksByFlags); //-- - if (tasksByConfigurations.containsKey(task.sapfor_configuration_id)) { - tasksByConfigurations.get(task.sapfor_configuration_id).add(task); - } else { - Vector tasks_ = new Vector<>(); - tasks_.add(task); - tasksByConfigurations.put(task.sapfor_configuration_id, tasks_); + for (SapforTask task : results_json.tasks) { + if (task.state.equals(state)) { + Vector tasks = null; + if (tasksByFlags.containsKey(task.flags)) { + tasks = tasksByFlags.get(task.flags); + } else { + tasks = new Vector<>(); + tasksByFlags.put(task.flags, tasks); + } + tasks.add(task); + } } - //-- } - //распечатать непрошедшие тесты. - for (String configuration_id: tasksByConfigurations.keySet()){ - + //-- + for (TaskState state : sortedTasks.keySet()) { + LinkedHashMap> tasksByFlags = sortedTasks.get(state); + if (!tasksByFlags.isEmpty()) { + int count = 0; + if (state.equals(TaskState.DoneWithErrors)) { + Vector tasksLines = new Vector<>(); + for (String flags : tasksByFlags.keySet()) { + Vector 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; } }