no message

This commit is contained in:
2023-09-22 00:16:46 +03:00
parent d5b9da80de
commit 6df3eb05ee
5 changed files with 49 additions and 11 deletions

View File

@@ -3,10 +3,12 @@ import Common.Global;
import Common.Utils.InterruptThread;
import Common.Utils.Utils;
import SapforTestingSystem.Json.Scenario_json;
import SapforTestingSystem.SapforTest.SapforTest;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.nio.charset.Charset;
import java.util.LinkedHashMap;
import java.util.Stack;
import java.util.Vector;
public class PackageModeSupervisor {
@@ -24,6 +26,8 @@ public class PackageModeSupervisor {
File sapfor_drv;
File scenarioFile;
//--->>
LinkedHashMap<String, SapforTest> allTests = new LinkedHashMap<>();
//--->>>
Vector<String> activeTests = new Vector<>();
Stack<String> waitingTests = new Stack<>();
//--->>
@@ -34,13 +38,12 @@ public class PackageModeSupervisor {
String packed = FileUtils.readFileToString(scenarioFile, Charset.defaultCharset());
scenario = Utils.gson.fromJson(packed, Scenario_json.class);
//--->>
/*
for (String test : scenario.tests)
for (String test : scenario.tests) {
allTests.put(test, new SapforTest(Global.Home, test));
waitingTests.push(test);
*/
}
}
public boolean isFinished(String test){
public boolean isFinished(String test) {
return true;
}
//--->>
@@ -55,23 +58,32 @@ public class PackageModeSupervisor {
activeTests.remove(test);
}
*/
return true;
return false;
}
public boolean startWaitingTests() throws Exception {
return true;
return false;
}
public void finalize(){
Global.Log.Print("END");
}
//--->>
public void Do() {
try {
Global.Log.Print("START");
interruptThread.start();
//--->>
init();
//--->>
while (checkActiveTests()&&startWaitingTests()){
while (checkActiveTests() && startWaitingTests()) {
Thread.sleep(1000);
}
finalize();
//--->>
} catch (Exception ex) {
ex.printStackTrace();
}
finally {
System.exit(0);
}
}
}

View File

@@ -1052,6 +1052,18 @@ public class Utils {
public static Process startScript(File scriptDirectory, File targetDirectory, String name, String scriptText) throws Exception {
return startScript(scriptDirectory, targetDirectory, name, scriptText, null);
}
public static Process startScript_(File scriptDirectory, File targetDirectory, String name, String scriptText) throws Exception {
//->
File scriptFile = Paths.get(scriptDirectory.getAbsolutePath(), name + (Global.isWindows ? ".bat" : "")).toFile();
FileUtils.write(scriptFile, "cd " + Utils.DQuotes(targetDirectory.getAbsolutePath()) + "\n" + scriptText);
if (!scriptFile.setExecutable(true)) throw new PassException("Не удалось создать исполняемый файл для скрипта");
//->>
ProcessBuilder procBuilder = new ProcessBuilder(scriptFile.getAbsolutePath());
procBuilder.directory(scriptDirectory);
procBuilder.redirectErrorStream(true);
return null;
}
//</editor-fold>
//<editor-fold desc="чтение вывода процесса">
public static String readLine(Process process) throws Exception {