diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index b062b98c..28941ec8 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -9,7 +9,9 @@
+
+
diff --git a/src/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.java b/src/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.java
index 0431fc45..6bb1d812 100644
--- a/src/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.java
+++ b/src/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.java
@@ -36,17 +36,20 @@ public class PackageModeSupervisor extends ThreadsPlanner {
task.sapfor_configuration_id = sapforConfiguration_json.id;
results_json.tasks.add(task);
//---
- addThread(() -> new PerformSapforTask().Do(
- sapfor_drv,
- sapforConfiguration_json,
- task
- ));
+ addThread(() -> {
+ while (!task.state.isComplete()) {
+ task.Reset();
+ new PerformSapforTask().Do(
+ sapfor_drv,
+ sapforConfiguration_json,
+ task
+ );
+ }
+ });
}
}
interruptThread.start();
}
- void getTaskFiles(SapforTask task) throws Exception {
- }
@Override
protected void finalize() {
results_json.EndDate = new Date().getTime();
diff --git a/src/SapforTestingSystem/PerformSapforTask.java b/src/SapforTestingSystem/PerformSapforTask.java
index c72ffcf1..981f183f 100644
--- a/src/SapforTestingSystem/PerformSapforTask.java
+++ b/src/SapforTestingSystem/PerformSapforTask.java
@@ -100,15 +100,27 @@ public class PerformSapforTask extends Pass_2021 {
if (!file.setExecutable(true))
throw new Exception("Не удалось сделать файл скрипта " + name + " исполняемым!");
//--
- ProcessBuilder procBuilder = new ProcessBuilder(file.getAbsolutePath());
- procBuilder.directory(workspace);
- process = procBuilder.start();
- exit_code = process.waitFor();
+ boolean flag = false;
+ do {
+ try {
+ ProcessBuilder procBuilder = new ProcessBuilder(file.getAbsolutePath());
+ procBuilder.directory(workspace);
+ process = procBuilder.start();
+ exit_code = process.waitFor();
+ flag = true;
+ } catch (Exception ex) {
+ Global.Log.PrintException(ex);
+ Utils.sleep(1000);
+ }
+ }
+ while (!flag);
process = null;
//---
outputLines = new Vector<>(FileUtils.readLines(outputFile));
errorsLines = new Vector<>(FileUtils.readLines(errorsFile));
- return (exit_code == 0) && checkLines(outputLines) && checkLines(errorsLines);
+ return (exit_code == 0) &&
+ checkLines(outputLines) &&
+ checkLines(errorsLines);
}
protected boolean parse() throws Exception {
if (performSapforScript("parse", parentTask,
diff --git a/src/SapforTestingSystem/SapforTask/SapforTask.java b/src/SapforTestingSystem/SapforTask/SapforTask.java
index ed9b35ec..cb7598ea 100644
--- a/src/SapforTestingSystem/SapforTask/SapforTask.java
+++ b/src/SapforTestingSystem/SapforTask/SapforTask.java
@@ -53,6 +53,13 @@ public class SapforTask extends DBObject {
//-----------
public SapforTask() {
}
+ public void Reset(){
+ root="";
+ state = TaskState.Inactive;
+ files.clear();
+ versions.clear();
+ variants.clear();
+ }
public SapforTask(SapforTask src) {
this.SynchronizeFields(src);
}
diff --git a/src/TestingSystem/TestingPlanner.java b/src/TestingSystem/TestingPlanner.java
index 805fe3ec..b0081ea5 100644
--- a/src/TestingSystem/TestingPlanner.java
+++ b/src/TestingSystem/TestingPlanner.java
@@ -277,13 +277,13 @@ public class TestingPlanner {
LinkedHashMap>> tasksByFlags = sortedTasks.get(state);
if (!tasksByFlags.isEmpty()) {
int count = 0;
- if (state.equals(TaskState.DoneWithErrors)) {
+ if (!state.equals(TaskState.Done)) {
Vector flagsLines = new Vector<>();
for (String flags : tasksByFlags.keySet()) {
LinkedHashMap> tasksByGroups = tasksByFlags.get(flags);
for (String group : tasksByGroups.keySet()) {
Vector tasks = tasksByGroups.get(group);
- flagsLines.add("Группа " + group + ": "+tasks.size());
+ flagsLines.add("Группа " + group + ": " + tasks.size());
count += tasks.size();
for (SapforTask task : tasks)
flagsLines.add(
@@ -292,7 +292,9 @@ public class TestingPlanner {
"флаги: "
+ Utils.Brackets(flags) + " " +
"версии: " +
- task.getVersionsChain());
+ task.getVersionsChain() + " " +
+ "конфигурация " + task.sapfor_configuration_id
+ );
}
}
result_lines.add(state.getDescription() + " :" + count);