исправил баг с запуском процессов. иногда файл скриптов запускался не сразу из за запоздалого закрытия fileutils.write
This commit is contained in:
2
.idea/workspace.xml
generated
2
.idea/workspace.xml
generated
@@ -9,7 +9,9 @@
|
|||||||
<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/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/PackageModeSupervisor/PackageModeSupervisor.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/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" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|||||||
@@ -36,17 +36,20 @@ public class PackageModeSupervisor extends ThreadsPlanner {
|
|||||||
task.sapfor_configuration_id = sapforConfiguration_json.id;
|
task.sapfor_configuration_id = sapforConfiguration_json.id;
|
||||||
results_json.tasks.add(task);
|
results_json.tasks.add(task);
|
||||||
//---
|
//---
|
||||||
addThread(() -> new PerformSapforTask().Do(
|
addThread(() -> {
|
||||||
|
while (!task.state.isComplete()) {
|
||||||
|
task.Reset();
|
||||||
|
new PerformSapforTask().Do(
|
||||||
sapfor_drv,
|
sapfor_drv,
|
||||||
sapforConfiguration_json,
|
sapforConfiguration_json,
|
||||||
task
|
task
|
||||||
));
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
interruptThread.start();
|
interruptThread.start();
|
||||||
}
|
}
|
||||||
void getTaskFiles(SapforTask task) throws Exception {
|
|
||||||
}
|
|
||||||
@Override
|
@Override
|
||||||
protected void finalize() {
|
protected void finalize() {
|
||||||
results_json.EndDate = new Date().getTime();
|
results_json.EndDate = new Date().getTime();
|
||||||
|
|||||||
@@ -100,15 +100,27 @@ public class PerformSapforTask extends Pass_2021<SapforTask> {
|
|||||||
if (!file.setExecutable(true))
|
if (!file.setExecutable(true))
|
||||||
throw new Exception("Не удалось сделать файл скрипта " + name + " исполняемым!");
|
throw new Exception("Не удалось сделать файл скрипта " + name + " исполняемым!");
|
||||||
//--
|
//--
|
||||||
|
boolean flag = false;
|
||||||
|
do {
|
||||||
|
try {
|
||||||
ProcessBuilder procBuilder = new ProcessBuilder(file.getAbsolutePath());
|
ProcessBuilder procBuilder = new ProcessBuilder(file.getAbsolutePath());
|
||||||
procBuilder.directory(workspace);
|
procBuilder.directory(workspace);
|
||||||
process = procBuilder.start();
|
process = procBuilder.start();
|
||||||
exit_code = process.waitFor();
|
exit_code = process.waitFor();
|
||||||
|
flag = true;
|
||||||
|
} catch (Exception ex) {
|
||||||
|
Global.Log.PrintException(ex);
|
||||||
|
Utils.sleep(1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (!flag);
|
||||||
process = null;
|
process = null;
|
||||||
//---
|
//---
|
||||||
outputLines = new Vector<>(FileUtils.readLines(outputFile));
|
outputLines = new Vector<>(FileUtils.readLines(outputFile));
|
||||||
errorsLines = new Vector<>(FileUtils.readLines(errorsFile));
|
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 {
|
protected boolean parse() throws Exception {
|
||||||
if (performSapforScript("parse", parentTask,
|
if (performSapforScript("parse", parentTask,
|
||||||
|
|||||||
@@ -53,6 +53,13 @@ public class SapforTask extends DBObject {
|
|||||||
//-----------
|
//-----------
|
||||||
public SapforTask() {
|
public SapforTask() {
|
||||||
}
|
}
|
||||||
|
public void Reset(){
|
||||||
|
root="";
|
||||||
|
state = TaskState.Inactive;
|
||||||
|
files.clear();
|
||||||
|
versions.clear();
|
||||||
|
variants.clear();
|
||||||
|
}
|
||||||
public SapforTask(SapforTask src) {
|
public SapforTask(SapforTask src) {
|
||||||
this.SynchronizeFields(src);
|
this.SynchronizeFields(src);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -277,13 +277,13 @@ public class TestingPlanner {
|
|||||||
LinkedHashMap<String, 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.Done)) {
|
||||||
Vector<String> flagsLines = new Vector<>();
|
Vector<String> flagsLines = new Vector<>();
|
||||||
for (String flags : tasksByFlags.keySet()) {
|
for (String flags : tasksByFlags.keySet()) {
|
||||||
LinkedHashMap<String, Vector<SapforTask>> tasksByGroups = tasksByFlags.get(flags);
|
LinkedHashMap<String, Vector<SapforTask>> tasksByGroups = tasksByFlags.get(flags);
|
||||||
for (String group : tasksByGroups.keySet()) {
|
for (String group : tasksByGroups.keySet()) {
|
||||||
Vector<SapforTask> tasks = tasksByGroups.get(group);
|
Vector<SapforTask> tasks = tasksByGroups.get(group);
|
||||||
flagsLines.add("Группа " + group + ": "+tasks.size());
|
flagsLines.add("Группа " + group + ": " + tasks.size());
|
||||||
count += tasks.size();
|
count += tasks.size();
|
||||||
for (SapforTask task : tasks)
|
for (SapforTask task : tasks)
|
||||||
flagsLines.add(
|
flagsLines.add(
|
||||||
@@ -292,7 +292,9 @@ public class TestingPlanner {
|
|||||||
"флаги: "
|
"флаги: "
|
||||||
+ Utils.Brackets(flags) + " " +
|
+ Utils.Brackets(flags) + " " +
|
||||||
"версии: " +
|
"версии: " +
|
||||||
task.getVersionsChain());
|
task.getVersionsChain() + " " +
|
||||||
|
"конфигурация " + task.sapfor_configuration_id
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result_lines.add(state.getDescription() + " :" + count);
|
result_lines.add(state.getDescription() + " :" + count);
|
||||||
|
|||||||
Reference in New Issue
Block a user