Compare commits

..

6 Commits

Author SHA1 Message Date
ALEXks
a8b15d0eeb fixed version 2026-02-24 16:38:17 +03:00
ALEXks
0e9404982f remaned 2026-02-24 16:37:56 +03:00
59060075e8 cores 2026-02-24 16:36:00 +03:00
d64f11e856 no message 2026-02-24 16:01:36 +03:00
b30f2b8eea Merge pull request 'moved to json' (#7) from planner into main 2026-02-24 15:01:33 +03:00
a70c93e66d no message 2026-02-24 14:58:22 +03:00
15 changed files with 115 additions and 52 deletions

8
.idea/workspace.xml generated
View File

@@ -9,9 +9,11 @@
<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$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Menus/MainMenuBar/VisualiserSettingsMenu/VersionsComparisonMenu.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Menus/MainMenuBar/VisualiserSettingsMenu/VersionsComparisonMenu.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/ComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Visual/Windows/ComparisonForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/DVMCompilationTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/DVMCompilationTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/DVMRunTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/DVMRunTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/DVMTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/DVMTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/RemoteDVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/RemoteDVMTestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/json/RunTask_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/json/RunTask_json.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -27,15 +27,15 @@
"LocalMakePathWindows": "C:\\MinGW\\msys\\1.0\\bin\\make.exe",
"PrecompilationFlags": " ",
"CheckTestingIntervalSeconds": 10,
"AutoCheckTesting": false,
"AutoCheckTesting": true,
"EmailOnTestingProgress": true,
"CompleteCompilationOptions": true,
"CompleteRunEnvironments": true,
"CreateEthalonTasks": true,
"ErasePackageWorkspace": true,
"lastMachineId": 13,
"lastUserId": 24,
"lastCompilerId": 52,
"ErasePackageWorkspace": false,
"lastMachineId": 1,
"lastUserId": 17,
"lastCompilerId": 15,
"RegisterOn": false,
"SpacesOn": false,
"EmptyLinesOn": false,

View File

@@ -3,8 +3,8 @@ import Common.Utils.Vector_;
import java.util.Vector;
public class Constants {
public static final int version = 1265;
public static final int planner_version = 24;
public static final int version = 1266;
public static final int planner_version = 26;
public static final int testingMaxKernels = 64;
//--
public static final String ApplicationFileName = "VisualSapfor.jar";
@@ -105,6 +105,7 @@ public class Constants {
"starter.cpp",
"launcher.cpp",
//--
"json.hpp",
"Array.h",
"CompilationSupervisor.h",
"CompilationTask.h",

View File

@@ -200,13 +200,18 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
return flags_in;
}
public static String completeEnvironments(String environmentsSet_in) {
if (!environmentsSet_in.contains("DVMH_NO_DIRECT_COPY")) {
if (environmentsSet_in.isEmpty())
return "DVMH_NO_DIRECT_COPY=" + Utils_.DQuotes("1");
else
return environmentsSet_in + " " + "DVMH_NO_DIRECT_COPY=" + Utils_.DQuotes("1");
} else
return environmentsSet_in;
if (environmentsSet_in.isEmpty()){
return "DVMH_NO_DIRECT_COPY=" + Utils_.DQuotes("1")+" "+ "DVMH_SET_AFFINITY="+Utils_.DQuotes("0");
}
//-
String res = environmentsSet_in;
if (!environmentsSet_in.contains("DVMH_NO_DIRECT_COPY")){
res+=" DVMH_NO_DIRECT_COPY=" + Utils_.DQuotes("1");
}
if (!environmentsSet_in.contains("DVMH_SET_AFFINITY")){
res+=" DVMH_SET_AFFINITY=" + Utils_.DQuotes("0");
}
return res;
}
@Override
public Class getJsonClass() {

View File

@@ -19,13 +19,4 @@ public class DVMCompilationTask extends DVMTask {
maxtime = configuration.c_maxtime;
}
//--
@Override
public Vector<String> pack(Object arg) {
Vector<String> res = new Vector<>();
res.add(String.valueOf(id)); //1
res.add(String.valueOf(maxtime)); //2
res.add(String.valueOf(test_id)); //3
res.add(arg.toString().replace("\n", "|")); //4
return res;
}
}

View File

@@ -90,19 +90,6 @@ public class DVMRunTask extends DVMTask {
args = rt.args;
}
//-
@Override
public Vector<String> pack(Object arg) {
Vector<String> res = new Vector<>();
res.add(String.valueOf(id)); //1
res.add(String.valueOf(maxtime)); //2
res.add(String.valueOf(dvmcompilationtask_id)); //3
res.add(matrix); //4
res.add(environments); //5
res.add(usr_par.replace("\n", "|")); //6
res.add(args); //7
res.add(String.valueOf(kernels)); //8
return res;
}
public String getEnvironments() {
return environments.replace("\n", ";");
}

View File

@@ -83,9 +83,6 @@ public class DVMTask extends iDBObject {
"results",
String.valueOf(id)).toFile();
}
public Vector<String> pack(Object arg) {
return null;
}
public String getResultFile(File resultFile) {
String res = "";
if (dvm_package_id == CommonConstants.Nan) res = "задача ещё не выполнялась";

View File

@@ -7,6 +7,10 @@ import _VisualDVM.Passes.All.UnzipFolderPass;
import _VisualDVM.TestingSystem.Common.TasksPackageState;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask;
import _VisualDVM.TestingSystem.DVM.json.DVMCompilationPackage_json;
import _VisualDVM.TestingSystem.DVM.json.CompilationTask_json;
import _VisualDVM.TestingSystem.DVM.json.DVMRunPackage_json;
import _VisualDVM.TestingSystem.DVM.json.RunTask_json;
import java.io.File;
import java.util.Collections;
@@ -71,19 +75,26 @@ public class RemoteDVMTestingPlanner extends DVMTestingPlanner {
//создать папку для пакета.
user.connection.RMDIR(packageRemoteWorkspace.full_name);
user.connection.sftpChannel.mkdir(packageRemoteWorkspace.full_name);
//--
DVMCompilationPackage_json compilationPackage_json = new DVMCompilationPackage_json();
DVMRunPackage_json runPackage_json = new DVMRunPackage_json();
//положить туда запакованные тексты задач.
Vector<String> compilationLines = new Vector<>();
Vector<String> runLines = new Vector<>();
for (DVMCompilationTask compilationTask : testingPackage.package_json.compilationTasks) {
String makefileText = generateMakefile(tests.get(compilationTask.test_id), compilationTask.language, testingPackage.drv, compilationTask.flags);
compilationLines.addAll(compilationTask.pack(makefileText));
for (DVMRunTask runTask : compilationTask.runTasks)
runLines.addAll(runTask.pack(null));
//--
compilationPackage_json.tasks.add(new CompilationTask_json(compilationTask, makefileText));
//--
for (DVMRunTask runTask : compilationTask.runTasks) {
//--
runPackage_json.tasks.add(new RunTask_json(runTask));
}
}
RemoteFile compilationPackage = new RemoteFile(packageRemoteWorkspace, "compilationTasks");
RemoteFile runPackage = new RemoteFile(packageRemoteWorkspace, "runTasks");
user.connection.writeToFile(String.join("\n", compilationLines) + "\n", compilationPackage);
user.connection.writeToFile(String.join("\n", runLines) + "\n", runPackage);
//--
RemoteFile compilationFile_json = new RemoteFile(packageRemoteWorkspace, "compilationTasks.json");
RemoteFile runFile_json = new RemoteFile(packageRemoteWorkspace, "runTasks.json");
//--
user.connection.writeToFile(Utils_.gson.toJson(compilationPackage_json),compilationFile_json);
user.connection.writeToFile(Utils_.gson.toJson(runPackage_json), runFile_json);
// --
user.connection.MKDIR(new RemoteFile(packageRemoteWorkspace, "state"));
}

View File

@@ -0,0 +1,15 @@
package _VisualDVM.TestingSystem.DVM.json;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import com.google.gson.annotations.Expose;
public class CompilationTask_json extends Task_json {
@Expose
public String test_name; //-
@Expose
public String makefile_text; //res.add(arg.toString().replace("\n", "|")); //4 todo в планировщике убрать шифровку
//--
public CompilationTask_json(DVMCompilationTask task, String makefile_text_in){
super(task);
test_name = String.valueOf(task.test_id);
makefile_text = makefile_text_in;
}
}

View File

@@ -0,0 +1,3 @@
package _VisualDVM.TestingSystem.DVM.json;
public class DVMCompilationPackage_json extends DVMPackage_json<CompilationTask_json> {
}

View File

@@ -0,0 +1,9 @@
package _VisualDVM.TestingSystem.DVM.json;
import com.google.gson.annotations.Expose;
import java.util.List;
import java.util.Vector;
public class DVMPackage_json<T extends Task_json> {
@Expose
public List<T> tasks = new Vector<>();
}

View File

@@ -0,0 +1,3 @@
package _VisualDVM.TestingSystem.DVM.json;
public class DVMRunPackage_json extends DVMPackage_json<RunTask_json>{
}

View File

@@ -0,0 +1,26 @@
package _VisualDVM.TestingSystem.DVM.json;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask;
import com.google.gson.annotations.Expose;
public class RunTask_json extends Task_json {
@Expose
public int cores;
@Expose
public int compilation_task_id;
@Expose
public String matrix;
@Expose
public String args;
@Expose
public String environments;
@Expose
public String usr_par; //- usr_par.replace("\n", "|") todo в планировщике убрать шифровку.
public RunTask_json(DVMRunTask task){
super(task);
cores = task.kernels;
compilation_task_id = task.dvmcompilationtask_id;
matrix = task.matrix;
args = task.args;
environments = task.environments;
usr_par = task.usr_par;
}
}

View File

@@ -0,0 +1,13 @@
package _VisualDVM.TestingSystem.DVM.json;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMTask;
import com.google.gson.annotations.Expose;
public class Task_json {
@Expose
public int id; //-
@Expose
public int maxtime;
public Task_json(DVMTask task){
id = task.id;
maxtime = task.maxtime;
}
}

View File

@@ -1 +1 @@
27
27