пока все на отладочном порту. Сохранение вывода сборки Сапфора в папке версии.
This commit is contained in:
19
.idea/workspace.xml
generated
19
.idea/workspace.xml
generated
@@ -7,20 +7,12 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTestingPlanner.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/ServerSapfor/ServerSapforState.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/Current.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Current.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Common/Global.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Global.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Component/Visualiser.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Repository/RepositoryClient.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryClient.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/MachineProcess/MachineProcess.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/MachineProcess/MachineProcess.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/LocalMachineQueueSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/LocalDVMTestingPlanner.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/MachineQueueSupervisor.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/UserConnection.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/UserConnection.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/RepositoryServerSSHPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/SSH/RepositoryServerSSHPass.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/files/RunTask.h" beforeDir="false" afterPath="$PROJECT_DIR$/src/files/RunTask.h" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@@ -42,8 +34,8 @@
|
||||
<list>
|
||||
<option value="FxmlFile" />
|
||||
<option value="Interface" />
|
||||
<option value="Enum" />
|
||||
<option value="Class" />
|
||||
<option value="Enum" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
@@ -93,6 +85,7 @@
|
||||
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
|
||||
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
|
||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||
<property name="TODO_SCOPE" value="All Places" />
|
||||
<property name="UI_DESIGNER_EDITOR_MODE.PaletteManager.SHOW" value="true" />
|
||||
<property name="UI_DESIGNER_EDITOR_MODE.PaletteManager.WIDTH" value="282" />
|
||||
<property name="UI_DESIGNER_EDITOR_MODE.UIDesignerToolWindowManager.SHOW" value="true" />
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
"Mode": "Normal",
|
||||
"ServerAddress": "alex-freenas.ddns.net",
|
||||
"ServerUserName": "testuser",
|
||||
"ServerUserSHHPort": 2000,
|
||||
"ServerUserSHHPort": 23,
|
||||
"ComponentsServerPort": 7995,
|
||||
"TestingServerPort": 7998,
|
||||
"TestingServerPort": 7996,
|
||||
"SocketTimeout": 5000,
|
||||
"OldServer": false,
|
||||
"SMTPHost": "smtp.mail.ru",
|
||||
@@ -35,7 +35,7 @@
|
||||
"PerformanceAnalyzerPath": "",
|
||||
"ComponentsBackUpsCount": 10,
|
||||
"TestingKernels": 28,
|
||||
"AutoCheckTesting": true,
|
||||
"AutoCheckTesting": false,
|
||||
"CheckTestingIntervalSeconds": 10,
|
||||
"EmailOnTestingProgress": false,
|
||||
"eraseTestingWorkspaces": true
|
||||
|
||||
@@ -39,42 +39,6 @@ import java.util.*;
|
||||
public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
public String name = "?";
|
||||
public static MachineProcessSet machinesProcesses = new MachineProcessSet();
|
||||
void StartNecessaryMachines() {
|
||||
try {
|
||||
Vector<String> aborted = new Vector<>();
|
||||
for (MachineProcess process : machinesProcesses.Data.values()) {
|
||||
if (process.isAborted()) {
|
||||
aborted.add(process.id);
|
||||
}
|
||||
}
|
||||
//---
|
||||
for (String key : aborted) {
|
||||
machinesProcesses.Data.remove(key);
|
||||
}
|
||||
//---
|
||||
LinkedHashMap<String, MachineProcess> processes_to_start = new LinkedHashMap<>();
|
||||
//1. Получить список всех пакетов, которые активны, и взять из них машины.
|
||||
for (DVMPackage dvmPackage : db.dvmPackages.Data.values()) {
|
||||
if (dvmPackage.state.isActive()) {
|
||||
//-
|
||||
if (!machinesProcesses.hasProcessForPackage(dvmPackage)) {
|
||||
MachineProcess new_process = new MachineProcess(dvmPackage);
|
||||
processes_to_start.put(new_process.getUniqueKey(), new_process);
|
||||
}
|
||||
}
|
||||
}
|
||||
//запуск.
|
||||
for (MachineProcess process : processes_to_start.values()) {
|
||||
process.Start();
|
||||
if (Utils.checkFileCreation(process.getStartedFile())) {
|
||||
machinesProcesses.Data.put(process.id, process);
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPublishAction(DBObject object) throws Exception {
|
||||
if (object instanceof Test) {
|
||||
@@ -94,7 +58,6 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
dvmPackage.saveJson();
|
||||
dvmPackage.package_json = null; // объект больше не нужен.
|
||||
//--
|
||||
|
||||
} else if (object instanceof SapforPackage) {
|
||||
((SapforPackage) object).init();
|
||||
}
|
||||
@@ -159,7 +122,6 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
protected void startAdditionalThreads() {
|
||||
testingThread.start();
|
||||
}
|
||||
|
||||
DVMTestingChecker dvmTestingChecker = new DVMTestingChecker();
|
||||
SapforTestingPlanner sapforTestingPlanner = new SapforTestingPlanner();
|
||||
//--
|
||||
@@ -473,6 +435,8 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
File repo = new File(testingSystemHome, "Repo");
|
||||
File repoSapforHome = Paths.get(repo.getAbsolutePath(), Constants.SAPFOR_REPOSITORY_BIN).toFile();
|
||||
File repo_bin = new File(repoSapforHome, "Sapfor_F");
|
||||
File repo_out = new File(repoSapforHome, Constants.out_file);
|
||||
File repo_err = new File(repoSapforHome, Constants.err_file);
|
||||
//--
|
||||
System.out.println("Синхронизация ветви DVM...");
|
||||
Utils.startScript(repo, repo, "dvm_checkout",
|
||||
@@ -513,18 +477,40 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
//--
|
||||
System.out.println("Сборка SAPFOR...");
|
||||
Utils.startScript(repoSapforHome, repoSapforHome, "build_sapfor",
|
||||
"cmake ../ 1>out.txt 2>err.txt\nmake -j 14 1>>out.txt 2>>err.txt\n").waitFor();
|
||||
"cmake ../ 1>" +
|
||||
Constants.out_file +
|
||||
" 2>" +
|
||||
Constants.err_file +
|
||||
"\nmake -j 14 1>>" +
|
||||
Constants.out_file +
|
||||
" 2>>" +
|
||||
Constants.err_file +
|
||||
"\n").waitFor();
|
||||
//--
|
||||
System.out.println("DONE");
|
||||
File repoSapfor = new File(repoSapforHome, "Sapfor_F");
|
||||
System.out.println("Result file is " + Utils.Brackets(repoSapfor.getAbsolutePath()));
|
||||
//---
|
||||
File sapforsDirectory = new File(testingSystemHome, "Sapfors");
|
||||
File sapforHome = new File(sapforsDirectory, Utils.getDateName("sapfor"));
|
||||
sapforHome.mkdir();
|
||||
File sapforOut = new File(sapforHome, Constants.out_file);
|
||||
File sapforErr = new File(sapforHome, Constants.err_file);
|
||||
//--
|
||||
System.out.println(repoSapfor.getAbsolutePath());
|
||||
System.out.println(repo_out.getAbsolutePath());
|
||||
System.out.println(repo_err.getAbsolutePath());
|
||||
System.out.println("====================");
|
||||
//--
|
||||
if (repo_out.exists())
|
||||
FileUtils.copyFile(repo_out, sapforOut);
|
||||
if (repo_err.exists())
|
||||
FileUtils.copyFile(repo_err, sapforErr);
|
||||
//--
|
||||
if (repoSapfor.exists()) {
|
||||
System.out.println("assembly found!");
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
File sapforsDirectory = new File(testingSystemHome, "Sapfors");
|
||||
//создать папку. Для того чтобы скопировать из репозитория.
|
||||
File sapforHome = new File(sapforsDirectory, Utils.getDateName("sapfor"));
|
||||
sapforHome.mkdir();
|
||||
File sapforBin = new File(sapforHome, "Sapfor_F");
|
||||
FileUtils.copyFile(repo_bin, sapforBin);
|
||||
sapforBin.setExecutable(true, false);
|
||||
@@ -537,7 +523,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
response.object = serverSapfor;
|
||||
serverSapfor.version = String.valueOf(current_version);
|
||||
//---
|
||||
EmailSapforAssembly(current_version, true);
|
||||
// EmailSapforAssembly(current_version, true);
|
||||
//---
|
||||
} else {
|
||||
//---
|
||||
@@ -625,7 +611,40 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
|
||||
response = new ServerExchangeUnit_2021(ServerCode.OK);
|
||||
response.object = db.getFirstActiveDVMPackageCopyForMachineURL(request.arg);
|
||||
}
|
||||
//-----
|
||||
|
||||
void StartNecessaryMachines() {
|
||||
try {
|
||||
Vector<String> aborted = new Vector<>();
|
||||
for (MachineProcess process : machinesProcesses.Data.values()) {
|
||||
if (process.isAborted()) {
|
||||
aborted.add(process.id);
|
||||
}
|
||||
}
|
||||
//---
|
||||
for (String key : aborted) {
|
||||
machinesProcesses.Data.remove(key);
|
||||
}
|
||||
//---
|
||||
LinkedHashMap<String, MachineProcess> processes_to_start = new LinkedHashMap<>();
|
||||
//1. Получить список всех пакетов, которые активны, и взять из них машины.
|
||||
for (DVMPackage dvmPackage : db.dvmPackages.Data.values()) {
|
||||
if (dvmPackage.state.isActive()) {
|
||||
//-
|
||||
if (!machinesProcesses.hasProcessForPackage(dvmPackage)) {
|
||||
MachineProcess new_process = new MachineProcess(dvmPackage);
|
||||
processes_to_start.put(new_process.getUniqueKey(), new_process);
|
||||
}
|
||||
}
|
||||
}
|
||||
//запуск.
|
||||
for (MachineProcess process : processes_to_start.values()) {
|
||||
process.Start();
|
||||
if (Utils.checkFileCreation(process.getStartedFile())) {
|
||||
machinesProcesses.Data.put(process.id, process);
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -141,4 +141,12 @@ public class SapforTestingPlanner extends TestingPlanner<SapforPackage> {
|
||||
Print("done!");
|
||||
}
|
||||
//--
|
||||
@Override
|
||||
public void perform() throws Exception {
|
||||
compileSapfors();
|
||||
super.perform();
|
||||
}
|
||||
public void compileSapfors() throws Exception{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package TestingSystem.SAPFOR.ServerSapfor;
|
||||
public enum ServerSapforState {
|
||||
Queued,
|
||||
Compilation,
|
||||
Done,
|
||||
DoneWithErrors
|
||||
}
|
||||
@@ -58,17 +58,19 @@ public:
|
||||
setUsrPar(lines->get(offset + 5));
|
||||
setArgs(lines->get(offset + 6));
|
||||
setKernels(lines->get(offset + 7));
|
||||
//todo setStartCommand
|
||||
}
|
||||
|
||||
String getLaunchScriptText() override {
|
||||
String modules = userWorkspace + "/modules";
|
||||
String starterCall = modules + "/starter";
|
||||
String launcherCall = modules + "/launcher";
|
||||
//-
|
||||
//todo вшить команду запуска в задачу на стороне сервера, чтобы в будущем тестировать произвольные задачи.
|
||||
String dvm_start = String::DQuotes(dvm_drv) + " run ";
|
||||
if (!matrix.isEmpty())
|
||||
dvm_start = dvm_start + matrix + " ";
|
||||
dvm_start = dvm_start + String::DQuotes("./" + binary_name);
|
||||
//--------------------------------------------------------------------------------------
|
||||
if (!args.isEmpty())
|
||||
dvm_start = dvm_start + " " + args;
|
||||
return String::DQuotes(starterCall) + " " +
|
||||
|
||||
Reference in New Issue
Block a user