формирование json пакета из разных конфигураций и тестов. промежуточный.

This commit is contained in:
2023-12-12 16:09:14 +03:00
parent f700154394
commit 91c494e9f8
15 changed files with 8529 additions and 52 deletions

22
.idea/workspace.xml generated
View File

@@ -7,26 +7,18 @@
</component>
<component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDatabase.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMCompilationTask.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTask.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMTask.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/icons/AddTasks.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/icons/Down.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage_json.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/Database/iDBObject.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Database/iDBObject.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/Common/UI/Menus_2023/ConfigurationsMenuBar/ConfigurationsMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/ConfigurationsMenuBar/ConfigurationsMenuBar.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/UI/Menus_2023/DVMPackagesBar/DVMPackagesBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/Menus_2023/DVMPackagesBar/DVMPackagesBar.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/ServerSapfor/ServerSapforsDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/ServerSapfor/ServerSapforsDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackageDatabase.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMCompilationTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMCompilationTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMRunTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMTasks/DVMTask.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Interface/TestingWindow.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Interface/TestingWindow.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/TestingForm.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,382 @@
{
"compilationTasks": [
{
"runTasks": [
{
"dvmcompilationtask_id": -1,
"matrix": "1",
"args": "",
"CleanTime": 0.0,
"progress": 0,
"language": "fortran",
"cube": 1,
"min_dim": 1,
"max_dim": 1,
"environments": "DVMH_NUM_THREADS\u003d\"1\" DVMH_NUM_CUDAS\u003d\"0\" DVMH_NO_DIRECT_COPY\u003d\"1\"",
"usr_par": "Is_DVM_STAT\u003d1",
"compilation_maxtime": 40,
"compilation_state": "Waiting",
"compilation_time": 0.0,
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 614,
"test_description": "parallel1_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
],
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 614,
"test_description": "parallel1_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
},
{
"runTasks": [
{
"dvmcompilationtask_id": -1,
"matrix": "1 1",
"args": "",
"CleanTime": 0.0,
"progress": 0,
"language": "fortran",
"cube": 1,
"min_dim": 1,
"max_dim": 1,
"environments": "DVMH_NUM_THREADS\u003d\"1\" DVMH_NUM_CUDAS\u003d\"0\" DVMH_NO_DIRECT_COPY\u003d\"1\"",
"usr_par": "Is_DVM_STAT\u003d1",
"compilation_maxtime": 40,
"compilation_state": "Waiting",
"compilation_time": 0.0,
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 615,
"test_description": "parallel2_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
],
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 615,
"test_description": "parallel2_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
},
{
"runTasks": [
{
"dvmcompilationtask_id": -1,
"matrix": "1 1 1",
"args": "",
"CleanTime": 0.0,
"progress": 0,
"language": "fortran",
"cube": 1,
"min_dim": 1,
"max_dim": 1,
"environments": "DVMH_NUM_THREADS\u003d\"1\" DVMH_NUM_CUDAS\u003d\"0\" DVMH_NO_DIRECT_COPY\u003d\"1\"",
"usr_par": "Is_DVM_STAT\u003d1",
"compilation_maxtime": 40,
"compilation_state": "Waiting",
"compilation_time": 0.0,
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 616,
"test_description": "parallel3_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
],
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 616,
"test_description": "parallel3_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
},
{
"runTasks": [
{
"dvmcompilationtask_id": -1,
"matrix": "1 1 1 1",
"args": "",
"CleanTime": 0.0,
"progress": 0,
"language": "fortran",
"cube": 1,
"min_dim": 1,
"max_dim": 1,
"environments": "DVMH_NUM_THREADS\u003d\"1\" DVMH_NUM_CUDAS\u003d\"0\" DVMH_NO_DIRECT_COPY\u003d\"1\"",
"usr_par": "Is_DVM_STAT\u003d1",
"compilation_maxtime": 40,
"compilation_state": "Waiting",
"compilation_time": 0.0,
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 617,
"test_description": "parallel4_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
],
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 617,
"test_description": "parallel4_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
},
{
"runTasks": [
{
"dvmcompilationtask_id": -1,
"matrix": "1",
"args": "",
"CleanTime": 0.0,
"progress": 0,
"language": "fortran",
"cube": 1,
"min_dim": 1,
"max_dim": 1,
"environments": "DVMH_NUM_THREADS\u003d\"1\" DVMH_NUM_CUDAS\u003d\"0\" DVMH_NO_DIRECT_COPY\u003d\"1\"",
"usr_par": "Is_DVM_STAT\u003d1",
"compilation_maxtime": 40,
"compilation_state": "Waiting",
"compilation_time": 0.0,
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 618,
"test_description": "paralplus12_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
],
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 618,
"test_description": "paralplus12_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
},
{
"runTasks": [
{
"dvmcompilationtask_id": -1,
"matrix": "1",
"args": "",
"CleanTime": 0.0,
"progress": 0,
"language": "fortran",
"cube": 1,
"min_dim": 1,
"max_dim": 1,
"environments": "DVMH_NUM_THREADS\u003d\"1\" DVMH_NUM_CUDAS\u003d\"0\" DVMH_NO_DIRECT_COPY\u003d\"1\"",
"usr_par": "Is_DVM_STAT\u003d1",
"compilation_maxtime": 40,
"compilation_state": "Waiting",
"compilation_time": 0.0,
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 619,
"test_description": "paralplus14_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
],
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 619,
"test_description": "paralplus14_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
},
{
"runTasks": [
{
"dvmcompilationtask_id": -1,
"matrix": "1 1",
"args": "",
"CleanTime": 0.0,
"progress": 0,
"language": "fortran",
"cube": 1,
"min_dim": 1,
"max_dim": 1,
"environments": "DVMH_NUM_THREADS\u003d\"1\" DVMH_NUM_CUDAS\u003d\"0\" DVMH_NO_DIRECT_COPY\u003d\"1\"",
"usr_par": "Is_DVM_STAT\u003d1",
"compilation_maxtime": 40,
"compilation_state": "Waiting",
"compilation_time": 0.0,
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 620,
"test_description": "paralplus23_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
],
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 620,
"test_description": "paralplus23_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
},
{
"runTasks": [
{
"dvmcompilationtask_id": -1,
"matrix": "1 1",
"args": "",
"CleanTime": 0.0,
"progress": 0,
"language": "fortran",
"cube": 1,
"min_dim": 1,
"max_dim": 1,
"environments": "DVMH_NUM_THREADS\u003d\"1\" DVMH_NUM_CUDAS\u003d\"0\" DVMH_NO_DIRECT_COPY\u003d\"1\"",
"usr_par": "Is_DVM_STAT\u003d1",
"compilation_maxtime": 40,
"compilation_state": "Waiting",
"compilation_time": 0.0,
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 621,
"test_description": "paralplus24_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
],
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 621,
"test_description": "paralplus24_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
},
{
"runTasks": [
{
"dvmcompilationtask_id": -1,
"matrix": "1 1 1",
"args": "",
"CleanTime": 0.0,
"progress": 0,
"language": "fortran",
"cube": 1,
"min_dim": 1,
"max_dim": 1,
"environments": "DVMH_NUM_THREADS\u003d\"1\" DVMH_NUM_CUDAS\u003d\"0\" DVMH_NO_DIRECT_COPY\u003d\"1\"",
"usr_par": "Is_DVM_STAT\u003d1",
"compilation_maxtime": 40,
"compilation_state": "Waiting",
"compilation_time": 0.0,
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 622,
"test_description": "paralplus34_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
],
"group_id": 81,
"group_description": "PARALLEL",
"test_id": 622,
"test_description": "paralplus34_f",
"flags": "-noH -shared-dvm",
"kernels": 1,
"state": "Inactive",
"maxtime": 40,
"test_type": "Correctness",
"Time": 0.0,
"id": 0
}
]
}

File diff suppressed because it is too large Load Diff

View File

@@ -26,7 +26,7 @@
"PerformanceAnalyzerPath": "",
"ComponentsBackUpsCount": 10,
"TestingKernels": 28,
"AutoCheckTesting": false,
"AutoCheckTesting": true,
"CheckTestingIntervalSeconds": 10,
"EmailOnTestingProgress": true
}

View File

@@ -1,8 +1,10 @@
package Common.Database;
import Common.Constants;
import com.google.gson.annotations.Expose;
import com.sun.org.glassfish.gmbal.Description;
//автоинкрементальный ключ
public class iDBObject extends DBObject {
@Expose
@Description("PRIMARY KEY,AUTOINCREMENT")
public int id;
@Override

View File

@@ -3,6 +3,8 @@ import Common.Database.DataSet;
import Common.UI.Menus_2023.ComponentsMenuBar.ComponentsMenuBar;
import Common.UI.UI;
import Common.Utils.Utils;
import GlobalData.Account.Account;
import GlobalData.Account.AccountRole;
import GlobalData.GlobalDatabase;
import GlobalData.Settings.DBSetting;
import GlobalData.Settings.SettingName;
@@ -318,11 +320,20 @@ public class Global {
//---
ActivateDB(); //тут current getAccount; роль по умолчанию всегда неизвестна.
///--------------
Pass_2021.passes.get(PassCode_2021.CheckAccount).Do();
Current.set(Current.Account, new Account(){
{
name = "M";
email= "vmk-post@yandex.ru";
role = AccountRole.Admin;
}
});
// Pass_2021.passes.get(PassCode_2021.CheckAccount).Do();
//---------------
componentsServer.ActivateDB();
testingServer.ActivateDB();
//-- чисто чтобы создать таблицы. соединения на стороне клиента не предвидится.
testingServer.SetCurrentAccountDB(Current.getAccount().email);
//--->>>
if (db.settings.get(SettingName.AutoBugReportsLoad).toBoolean())

View File

@@ -1,7 +1,9 @@
package TestingSystem.DVM.DVMPackage;
import Common.Database.DBObject;
import Common.Global;
import Common.Utils.Utils;
import TestingSystem.Common.TestingPackage.TestingPackage;
import com.sun.org.glassfish.gmbal.Description;
import java.io.File;
public class DVMPackage extends TestingPackage {
@@ -15,6 +17,9 @@ public class DVMPackage extends TestingPackage {
public String user_password;
public String user_workspace;
//---
@Description("IGNORE")
public DVMPackage_json package_json = null;
//---
@Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
@@ -27,8 +32,13 @@ public class DVMPackage extends TestingPackage {
user_workspace = tasksPackage.user_workspace;
user_password = tasksPackage.user_password;
}
public File getLocalWorkspace(){
public File getLocalWorkspace() {
return new File(Global.PackagesDirectory, id);
}
//public File
public File getJsonFile() {
return new File(getLocalWorkspace(), "package_json");
}
public void saveJson() throws Exception {
Utils.jsonToFile(package_json, getJsonFile());
}
}

View File

@@ -1,3 +0,0 @@
package TestingSystem.DVM.DVMPackage;
public class DVMPackageDatabase {
}

View File

@@ -0,0 +1,16 @@
package TestingSystem.DVM.DVMPackage;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import TestingSystem.DVM.DVMTasks.DVMRunTask;
import TestingSystem.DVM.TasksPackage.TasksPackageState;
import com.google.gson.annotations.Expose;
import java.util.List;
import java.util.Vector;
public class DVMPackage_json {
@Expose
public int max_compilation_task_id = 0;
@Expose
public int max_run_task_id = 0;
@Expose
public List<DVMCompilationTask> compilationTasks = new Vector<>();
}

View File

@@ -3,24 +3,23 @@ import Common.Database.DBObject;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.Tasks.TestCompilationTask;
import TestingSystem.DVM.Tasks.TestRunTask;
import com.sun.org.glassfish.gmbal.Description;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import com.google.gson.annotations.Expose;
import java.util.List;
import java.util.Vector;
public class DVMCompilationTask extends DVMTask {
public String makefile_text = "";
public String test_home = ""; //место где лежит код теста.
public DVMCompilationTask(Configuration configuration, Group group, Test test, String flags_in) {
@Expose
public List<DVMRunTask> runTasks = new Vector<>();
//-
public DVMCompilationTask(Configuration configuration,
Group group,
Test test,
String flags_in
) {
super(configuration, group, test, flags_in);
flags = flags_in;
maxtime = configuration.c_maxtime;
}
@Override
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
DVMCompilationTask ct = (DVMCompilationTask) src;
makefile_text = ct.makefile_text;
test_home = ct.test_home;
}
}

View File

@@ -3,47 +3,61 @@ import Common.Constants;
import Common.Current;
import Common.Database.DBObject;
import Common.Global;
import Common.Utils.Utils;
import GlobalData.Tasks.TaskState;
import ProjectData.LanguageName;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestType;
import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.Tasks.TestRunTask;
import TestingSystem.DVM.Tasks.TestTask;
import com.google.gson.annotations.Expose;
import com.sun.org.glassfish.gmbal.Description;
import java.util.Vector;
public class DVMRunTask extends DVMTask {
//не факт что тут нужно переводить на полный интерфейс. достаточно убрать фильтрацию
@Expose
public int dvmcompilationtask_id = Constants.Nan;
@Expose
public String matrix = "";
@Expose
public String args = "";
@Expose
public double CleanTime = 0.0;
@Expose
public int progress = 0;
@Expose
public LanguageName language = LanguageName.fortran;
@Expose
public int cube = 1;
@Expose
public int min_dim = 1;
@Expose
public int max_dim = 1;
@Expose
public String environments = "";
@Expose
public String usr_par = "";
@Expose
public int compilation_maxtime = 40;
public String compilation_output = "";
public String compilation_errors = "";
@Expose
public TaskState compilation_state = TaskState.Waiting;
@Expose
public double compilation_time = 0.0;
public String statistic = "";
public DVMRunTask(Configuration configuration,
Group group, Test test,
String matrix_in, String flags_in,
String environments_in,
String par_in) {
String par_in,
int kernels_in
) {
super(configuration, group, test, flags_in);
//--------------------------
//инфа о компиляции.
language = group.language;
compilation_maxtime = configuration.c_maxtime;
compilation_output = "";
compilation_errors = "";
compilation_state = TaskState.Waiting;
//инфа о запуске
cube = configuration.cube;
@@ -55,6 +69,8 @@ public class DVMRunTask extends DVMTask {
args = test.args;
//---------
matrix = matrix_in;
kernels = (test_type == TestType.Performance) ? kernels_in :
Math.min(Utils.getMatrixProcessors(matrix), kernels_in);
}
public DVMRunTask() {
}
@@ -74,14 +90,11 @@ public class DVMRunTask extends DVMTask {
environments = rt.environments;
usr_par = rt.usr_par;
compilation_maxtime = rt.compilation_maxtime;
compilation_output = rt.compilation_output;
compilation_errors = rt.compilation_errors;
compilation_state = rt.compilation_state;
compilation_time = rt.compilation_time;
statistic = rt.statistic;
args = rt.args;
}
public DVMRunTask(TestRunTask src) {
public DVMRunTask(DVMRunTask src) {
this.SynchronizeFields(src);
}
//-

View File

@@ -7,24 +7,33 @@ import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestType;
import TestingSystem.DVM.Configuration.Configuration;
import com.google.gson.annotations.Expose;
import com.sun.org.glassfish.gmbal.Description;
import java.util.Date;
import java.util.Vector;
public class DVMTask extends iDBObject {
@Expose
public int group_id = Constants.Nan;
@Expose
public String group_description = "";
@Expose
public int test_id = Constants.Nan;
@Expose
public String test_description = "";
@Expose
public String flags = "";
@Expose
public int kernels = 1;
@Expose
public TaskState state = TaskState.Inactive;
@Expose
public int maxtime = 40;
@Expose
public TestType test_type = TestType.Default;
//результаты-------------------------------
@Expose
public double Time; //время выполнения.
public String output = "";
public String errors = "";
//------------------------------------------------------
@Override
public void SynchronizeFields(DBObject src) {
@@ -40,8 +49,6 @@ public class DVMTask extends iDBObject {
maxtime = t.maxtime;
test_type = t.test_type;
Time = t.Time;
output = t.output;
errors = t.errors;
}
public DVMTask(DVMTask src) {
this.SynchronizeFields(src);

View File

@@ -4,10 +4,12 @@ import Common.Current;
import Common.Database.Database;
import Common.Global;
import Common.UI.UI;
import Common.Utils.Utils;
import GlobalData.Compiler.CompilerType;
import GlobalData.Machine.MachineType;
import GlobalData.User.UserState;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import TestingSystem.DVM.TasksPackage.TasksPackage;
import TestingSystem.DVM.TasksPackage.TasksPackageState;
import Visual_DVM_2021.Passes.AddObjectPass;
@@ -52,6 +54,7 @@ public class AddDVMPackage extends AddObjectPass<DVMPackage> {
//--
target = new DVMPackage();
target.genName();
//-
target.sender_name=Current.getAccount().name;
target.sender_address = Current.getAccount().email;
@@ -66,6 +69,11 @@ public class AddDVMPackage extends AddObjectPass<DVMPackage> {
target.drv = Current.getCompiler().call_command;
target.version = Current.getCompiler().getVersionInfo();
target.kernels = Global.properties.TestingKernels;
target.needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
//--
target.package_json = new DVMPackage_json();
Utils.CheckAndCleanDirectory(target.getLocalWorkspace());
target.saveJson();
//--
return true;
}

View File

@@ -1,10 +1,22 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import Common.UI.UI;
import Common.Utils.Utils;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import TestingSystem.DVM.DVMTasks.DVMRunTask;
import TestingSystem.DVM.TasksPackage.TasksPackageState;
import Visual_DVM_2021.Passes.Pass_2021;
import java.util.Vector;
public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
Vector<DVMCompilationTask> tasks;
int tasks_count;
@Override
public String getIconPath() {
return "/icons/AddTasks.png";
@@ -13,6 +25,73 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
public String getButtonText() {
return "";
}
//--
public static String checkFlags(String flags_in) {
if (!flags_in.contains("-shared-dvm")) {
if (flags_in.isEmpty())
return "-shared-dvm";
else return flags_in + " -shared-dvm";
} else
return flags_in;
}
public static String checkEnvironments(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;
}
//--
public Vector<DVMCompilationTask> createTasksCGT(
Configuration configuration,
Group group,
Test test
) {
Vector<DVMCompilationTask> compilationTasks = new Vector<>();
for (String flags : configuration.getFlags()) {
String checked_flags = checkFlags(flags);
DVMCompilationTask dvmCompilationTask = new DVMCompilationTask(
configuration,
group,
test,
checked_flags
);
Vector<String> matrixes = configuration.getMatrixes(test.max_dim);
Vector<String> environments = configuration.getEnvironments();
for (String environmentSet : environments) {
String checkedEnvironments = checkEnvironments(environmentSet);
if (flags.trim().equalsIgnoreCase("-s")) {
dvmCompilationTask.runTasks.add(new DVMRunTask(
configuration,
group,
test,
"",
checked_flags,
checkedEnvironments,
configuration.getParamsText(),
target.kernels
));
tasks_count++;
} else
for (String matrix : matrixes) {
dvmCompilationTask.runTasks.add(new DVMRunTask(
configuration,
group,
test,
matrix,
checked_flags,
checkedEnvironments,
configuration.getParamsText(),
target.kernels));
tasks_count++;
}
}
compilationTasks.add(dvmCompilationTask);
}
return compilationTasks;
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (Current.Check(Log, Current.DVMPackage)) {
@@ -21,8 +100,75 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
Log.Writeln_("Пакет " + Utils.Brackets(target.id) + " не готовится к публикации!");
return false;
}
return true;
}
//---
tasks = new Vector<>();
tasks_count = 0;
//-----------
//1, Проверяем выбраны ли конфиги.
if (Global.testingServer.db.configurations.getCheckedCount() == 0) {
Log.Writeln_("Не отмечена ни одна конфигурация тестирования.");
return false;
}
if (Global.testingServer.db.groups.getCheckedCount() > 0) {
//2 Проверяем выбраны ли группы.
for (TestingSystem.DVM.Configuration.Configuration configuration : Global.testingServer.db.configurations.getCheckedItems()) {
for (Group group : Global.testingServer.db.groups.getCheckedItems()) {
Vector<Test> groupTests = new Vector<>();
Vector<Test> checkedGroupTests = new Vector<>();
for (Test test : Global.testingServer.db.tests.Data.values()) {
if (test.group_id == group.id) {
groupTests.add(test);
if (test.isSelected())
checkedGroupTests.add(test);
}
}
if (!groupTests.isEmpty()) {
if (checkedGroupTests.isEmpty()) {
for (Test test : groupTests)
tasks.addAll(createTasksCGT(configuration, group, test));
} else {
//добавляем только отмеченные.
for (Test test : checkedGroupTests) {
tasks.addAll(createTasksCGT(configuration, group, test));
}
}
}
}
}
}
if (tasks.isEmpty()) {
Log.Writeln_("Не удалось добавить задачи.\n" +
"Для создания задач отметьте требуемые конфигурации,\n" +
"Отметьте группы, или отдельные тесты в отмеченной текущей группе");
return false;
}
return UI.Question("Будет добавлено " + tasks_count + " задач. Продолжить");
}
//
return true;
}
@Override
protected void body() throws Exception {
DVMPackage_json json = target.package_json;
//инициализируем идентификаторы задач.
for (DVMCompilationTask compilationTask : tasks) {
//--
compilationTask.id = json.max_compilation_task_id;
json.max_compilation_task_id++;
//-
for (DVMRunTask runTask : compilationTask.runTasks) {
runTask.id = json.max_run_task_id;
json.max_run_task_id++;
runTask.dvmcompilationtask_id = compilationTask.id;
}
}
json.compilationTasks.addAll(tasks);
target.tasksCount += tasks_count;
target.saveJson();
Global.testingServer.db.Update(target);
}
@Override
protected void showDone() throws Exception {
Global.testingServer.db.dvmPackages.ShowUI(target.id);
}
}