запись результатов тестирования в файлы. пока думаю как лучше.
This commit is contained in:
@@ -359,8 +359,6 @@ public class Global {
|
||||
Log.ClearLog();
|
||||
SapforTestingPlanner planner = new SapforTestingPlanner();
|
||||
planner.Start();
|
||||
System.out.println("Press any key to exit...");
|
||||
System.in.read();
|
||||
}
|
||||
//---
|
||||
public static void Init(String... args) {
|
||||
|
||||
@@ -31,7 +31,6 @@ public class SapforTask extends DBObject {
|
||||
@Expose
|
||||
public TaskState state = TaskState.Inactive;
|
||||
@Description("DEFAULT '0'")
|
||||
@Expose
|
||||
public int versions_tree_built = 0;
|
||||
//-----------
|
||||
public SapforTask() {
|
||||
|
||||
@@ -2,7 +2,10 @@ package SapforTestingSystem.SapforTest;
|
||||
import Common.Constants.Constants;
|
||||
import Common.Global;
|
||||
import Common.Utils.Utils;
|
||||
import GlobalData.Tasks.TaskState;
|
||||
import ProjectData.Project.db_project_info;
|
||||
import SapforTestingSystem.Json.SapforVersion_json;
|
||||
import SapforTestingSystem.SapforTask.SapforTask;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import Visual_DVM_2021.Passes.PassException;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
@@ -31,6 +34,7 @@ public class SapforTest {
|
||||
Vector<String> outputLines;
|
||||
Vector<String> errorsLines;
|
||||
//---
|
||||
public SapforTask taskResult = null;
|
||||
//---
|
||||
public SapforTest(File sapfor_drv_in, File root_in, String flags_in, List<PassCode_2021> codes_in) {
|
||||
sapfor_drv = sapfor_drv_in;
|
||||
@@ -63,7 +67,7 @@ public class SapforTest {
|
||||
Utils.delete_with_check(outputFile);
|
||||
Utils.delete_with_check(errorsFile);
|
||||
//---
|
||||
File file = new File(data_workspace, name + (Global.isWindows?".bat":".sh"));
|
||||
File file = new File(data_workspace, name + (Global.isWindows ? ".bat" : ".sh"));
|
||||
FileUtils.write(file,
|
||||
Utils.DQuotes(sapfor_drv.getAbsolutePath())
|
||||
+ (flags.isEmpty() ? "" : (" " + flags))
|
||||
@@ -96,7 +100,7 @@ public class SapforTest {
|
||||
&& (new File(parentTask, "dvm.proj")).exists()) {
|
||||
return true;
|
||||
} else {
|
||||
// taskResult.state = TaskState.DoneWithErrors;
|
||||
taskResult.state = TaskState.DoneWithErrors;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -108,13 +112,13 @@ public class SapforTest {
|
||||
"out.txt",
|
||||
"err.txt"
|
||||
)) {
|
||||
//taskResult.state = TaskState.Done;
|
||||
//taskResult.versions.add(new SapforVersion_json(task.getAbsolutePath(), code.getDescription()));
|
||||
taskResult.state = TaskState.Done;
|
||||
taskResult.versions.add(new SapforVersion_json(task.getAbsolutePath(), code.getDescription()));
|
||||
parentTask = task;
|
||||
return true;
|
||||
}
|
||||
Utils.delete_with_check(task);
|
||||
// taskResult.state = TaskState.DoneWithErrors;
|
||||
taskResult.state = TaskState.DoneWithErrors;
|
||||
return false;
|
||||
}
|
||||
protected boolean variants() throws Exception {
|
||||
@@ -127,24 +131,22 @@ public class SapforTest {
|
||||
if ((files_ != null) && (files_.length > 0)) {
|
||||
Vector<File> files = new Vector<>(Arrays.asList(files_));
|
||||
files.sort(Comparator.comparingInt(o -> Integer.parseInt(o.getName().substring(1))));
|
||||
/*
|
||||
taskResult.state = TaskState.Done;
|
||||
for (File file : files)
|
||||
taskResult.variants.add(new SapforVersion_json(file.getAbsolutePath(), PassCode_2021.SPF_CreateParallelVariant.getDescription()));
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
}
|
||||
// taskResult.state = TaskState.DoneWithErrors;
|
||||
taskResult.state = TaskState.DoneWithErrors;
|
||||
return false;
|
||||
}
|
||||
public void Do() throws Exception {
|
||||
parentTask = root;
|
||||
//--
|
||||
// taskResult = new SapforTask();
|
||||
// taskResult.test_description = test;
|
||||
// taskResult.sapfortaskspackage_2023_id = Integer.parseInt(packageWorkspace.getName());
|
||||
// taskResult.versions.add(new SapforVersion_json(parentTask.getAbsolutePath(), "исходная"));
|
||||
taskResult = new SapforTask();
|
||||
taskResult.test_description = root.getName();
|
||||
taskResult.sapfortaskspackage_2023_id = Integer.parseInt(root.getParentFile().getName());
|
||||
taskResult.versions.add(new SapforVersion_json(parentTask.getAbsolutePath(), "исходная"));
|
||||
//--
|
||||
System.out.println(root.getName() + " " + Utils.Brackets(flags));
|
||||
for (PassCode_2021 code : codes) {
|
||||
@@ -157,7 +159,9 @@ public class SapforTest {
|
||||
} else
|
||||
break;
|
||||
}
|
||||
//---
|
||||
//results.tasks.add(taskResult);
|
||||
//Запись результатов.
|
||||
File data_workspace = new File(root, db_project_info.data);
|
||||
Utils.CheckDirectory(data_workspace);
|
||||
Utils.jsonToFile(taskResult, new File(data_workspace, "result.txt"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,4 +42,8 @@ public class SapforTestingPlanner extends ThreadsPlanner {
|
||||
//todo для надежности сделать еще один kill с внешнего процесса.
|
||||
// может быть гонка, что нить успеет запустить процесс уже после интеррупта.
|
||||
}
|
||||
@Override
|
||||
protected void finalize() {
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,8 +228,8 @@ public class StartSapforTests extends Pass_2021<SapforScenario> {
|
||||
ShowMessage2("Создание настроек");
|
||||
GlobalProperties properties = new GlobalProperties();
|
||||
properties.Mode = Current.Mode.Scenario;
|
||||
properties.threadsNum = 1;
|
||||
properties.threadsTimeout = 5000;
|
||||
properties.threadsNum = 4;
|
||||
properties.threadsTimeout = 2000;
|
||||
//----
|
||||
Utils.jsonToFile(properties, new File(target.workspace, "properties"));
|
||||
//----
|
||||
|
||||
Reference in New Issue
Block a user