формирование 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>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <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/DVMPackage/DVMPackage_json.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 beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" 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$/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/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/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/DVM/DVMPackage/DVMPackageDatabase.java" beforeDir="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/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/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/Passes/All/AddTasksToDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AddTasksToDVMPackage.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" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <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": "", "PerformanceAnalyzerPath": "",
"ComponentsBackUpsCount": 10, "ComponentsBackUpsCount": 10,
"TestingKernels": 28, "TestingKernels": 28,
"AutoCheckTesting": false, "AutoCheckTesting": true,
"CheckTestingIntervalSeconds": 10, "CheckTestingIntervalSeconds": 10,
"EmailOnTestingProgress": true "EmailOnTestingProgress": true
} }

View File

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

View File

@@ -3,6 +3,8 @@ import Common.Database.DataSet;
import Common.UI.Menus_2023.ComponentsMenuBar.ComponentsMenuBar; import Common.UI.Menus_2023.ComponentsMenuBar.ComponentsMenuBar;
import Common.UI.UI; import Common.UI.UI;
import Common.Utils.Utils; import Common.Utils.Utils;
import GlobalData.Account.Account;
import GlobalData.Account.AccountRole;
import GlobalData.GlobalDatabase; import GlobalData.GlobalDatabase;
import GlobalData.Settings.DBSetting; import GlobalData.Settings.DBSetting;
import GlobalData.Settings.SettingName; import GlobalData.Settings.SettingName;
@@ -318,11 +320,20 @@ public class Global {
//--- //---
ActivateDB(); //тут current getAccount; роль по умолчанию всегда неизвестна. 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(); componentsServer.ActivateDB();
testingServer.ActivateDB(); testingServer.ActivateDB();
//-- чисто чтобы создать таблицы. соединения на стороне клиента не предвидится. //-- чисто чтобы создать таблицы. соединения на стороне клиента не предвидится.
testingServer.SetCurrentAccountDB(Current.getAccount().email); testingServer.SetCurrentAccountDB(Current.getAccount().email);
//--->>> //--->>>
if (db.settings.get(SettingName.AutoBugReportsLoad).toBoolean()) if (db.settings.get(SettingName.AutoBugReportsLoad).toBoolean())

View File

@@ -1,7 +1,9 @@
package TestingSystem.DVM.DVMPackage; package TestingSystem.DVM.DVMPackage;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Global; import Common.Global;
import Common.Utils.Utils;
import TestingSystem.Common.TestingPackage.TestingPackage; import TestingSystem.Common.TestingPackage.TestingPackage;
import com.sun.org.glassfish.gmbal.Description;
import java.io.File; import java.io.File;
public class DVMPackage extends TestingPackage { public class DVMPackage extends TestingPackage {
@@ -15,6 +17,9 @@ public class DVMPackage extends TestingPackage {
public String user_password; public String user_password;
public String user_workspace; public String user_workspace;
//--- //---
@Description("IGNORE")
public DVMPackage_json package_json = null;
//---
@Override @Override
public void SynchronizeFields(DBObject src) { public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src); super.SynchronizeFields(src);
@@ -30,5 +35,10 @@ public class DVMPackage extends TestingPackage {
public File getLocalWorkspace() { public File getLocalWorkspace() {
return new File(Global.PackagesDirectory, id); 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.Group.Group;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.Tasks.TestCompilationTask; import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.Tasks.TestRunTask; import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import com.sun.org.glassfish.gmbal.Description; import com.google.gson.annotations.Expose;
import java.util.List;
import java.util.Vector; import java.util.Vector;
public class DVMCompilationTask extends DVMTask { public class DVMCompilationTask extends DVMTask {
public String makefile_text = ""; @Expose
public String test_home = ""; //место где лежит код теста. public List<DVMRunTask> runTasks = new Vector<>();
public DVMCompilationTask(Configuration configuration, Group group, Test test, String flags_in) { //-
public DVMCompilationTask(Configuration configuration,
Group group,
Test test,
String flags_in
) {
super(configuration, group, test, flags_in); super(configuration, group, test, flags_in);
flags = flags_in; flags = flags_in;
maxtime = configuration.c_maxtime; 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.Current;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Global; import Common.Global;
import Common.Utils.Utils;
import GlobalData.Tasks.TaskState; import GlobalData.Tasks.TaskState;
import ProjectData.LanguageName; import ProjectData.LanguageName;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestType;
import TestingSystem.DVM.Configuration.Configuration; import TestingSystem.DVM.Configuration.Configuration;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.Tasks.TestRunTask; import TestingSystem.DVM.Tasks.TestRunTask;
import TestingSystem.DVM.Tasks.TestTask; import TestingSystem.DVM.Tasks.TestTask;
import com.google.gson.annotations.Expose;
import com.sun.org.glassfish.gmbal.Description; import com.sun.org.glassfish.gmbal.Description;
import java.util.Vector; import java.util.Vector;
public class DVMRunTask extends DVMTask { public class DVMRunTask extends DVMTask {
//не факт что тут нужно переводить на полный интерфейс. достаточно убрать фильтрацию @Expose
public int dvmcompilationtask_id = Constants.Nan; public int dvmcompilationtask_id = Constants.Nan;
@Expose
public String matrix = ""; public String matrix = "";
@Expose
public String args = ""; public String args = "";
@Expose
public double CleanTime = 0.0; public double CleanTime = 0.0;
@Expose
public int progress = 0; public int progress = 0;
@Expose
public LanguageName language = LanguageName.fortran; public LanguageName language = LanguageName.fortran;
@Expose
public int cube = 1; public int cube = 1;
@Expose
public int min_dim = 1; public int min_dim = 1;
@Expose
public int max_dim = 1; public int max_dim = 1;
@Expose
public String environments = ""; public String environments = "";
@Expose
public String usr_par = ""; public String usr_par = "";
@Expose
public int compilation_maxtime = 40; public int compilation_maxtime = 40;
public String compilation_output = ""; @Expose
public String compilation_errors = "";
public TaskState compilation_state = TaskState.Waiting; public TaskState compilation_state = TaskState.Waiting;
@Expose
public double compilation_time = 0.0; public double compilation_time = 0.0;
public String statistic = "";
public DVMRunTask(Configuration configuration, public DVMRunTask(Configuration configuration,
Group group, Test test, Group group, Test test,
String matrix_in, String flags_in, String matrix_in, String flags_in,
String environments_in, String environments_in,
String par_in) { String par_in,
int kernels_in
) {
super(configuration, group, test, flags_in); super(configuration, group, test, flags_in);
//-------------------------- //--------------------------
//инфа о компиляции. //инфа о компиляции.
language = group.language; language = group.language;
compilation_maxtime = configuration.c_maxtime; compilation_maxtime = configuration.c_maxtime;
compilation_output = "";
compilation_errors = "";
compilation_state = TaskState.Waiting; compilation_state = TaskState.Waiting;
//инфа о запуске //инфа о запуске
cube = configuration.cube; cube = configuration.cube;
@@ -55,6 +69,8 @@ public class DVMRunTask extends DVMTask {
args = test.args; args = test.args;
//--------- //---------
matrix = matrix_in; matrix = matrix_in;
kernels = (test_type == TestType.Performance) ? kernels_in :
Math.min(Utils.getMatrixProcessors(matrix), kernels_in);
} }
public DVMRunTask() { public DVMRunTask() {
} }
@@ -74,14 +90,11 @@ public class DVMRunTask extends DVMTask {
environments = rt.environments; environments = rt.environments;
usr_par = rt.usr_par; usr_par = rt.usr_par;
compilation_maxtime = rt.compilation_maxtime; compilation_maxtime = rt.compilation_maxtime;
compilation_output = rt.compilation_output;
compilation_errors = rt.compilation_errors;
compilation_state = rt.compilation_state; compilation_state = rt.compilation_state;
compilation_time = rt.compilation_time; compilation_time = rt.compilation_time;
statistic = rt.statistic;
args = rt.args; args = rt.args;
} }
public DVMRunTask(TestRunTask src) { public DVMRunTask(DVMRunTask src) {
this.SynchronizeFields(src); this.SynchronizeFields(src);
} }
//- //-

View File

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

View File

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

View File

@@ -1,10 +1,22 @@
package Visual_DVM_2021.Passes.All; package Visual_DVM_2021.Passes.All;
import Common.Current; import Common.Current;
import Common.Global;
import Common.UI.UI;
import Common.Utils.Utils; 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;
import TestingSystem.DVM.DVMPackage.DVMPackage_json;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import TestingSystem.DVM.DVMTasks.DVMRunTask;
import TestingSystem.DVM.TasksPackage.TasksPackageState; import TestingSystem.DVM.TasksPackage.TasksPackageState;
import Visual_DVM_2021.Passes.Pass_2021; import Visual_DVM_2021.Passes.Pass_2021;
import java.util.Vector;
public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> { public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
Vector<DVMCompilationTask> tasks;
int tasks_count;
@Override @Override
public String getIconPath() { public String getIconPath() {
return "/icons/AddTasks.png"; return "/icons/AddTasks.png";
@@ -13,6 +25,73 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
public String getButtonText() { public String getButtonText() {
return ""; 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 @Override
protected boolean canStart(Object... args) throws Exception { protected boolean canStart(Object... args) throws Exception {
if (Current.Check(Log, Current.DVMPackage)) { if (Current.Check(Log, Current.DVMPackage)) {
@@ -21,8 +100,75 @@ public class AddTasksToDVMPackage extends Pass_2021<DVMPackage> {
Log.Writeln_("Пакет " + Utils.Brackets(target.id) + " не готовится к публикации!"); Log.Writeln_("Пакет " + Utils.Brackets(target.id) + " не готовится к публикации!");
return false; return false;
} }
return true; //---
} tasks = new Vector<>();
tasks_count = 0;
//-----------
//1, Проверяем выбраны ли конфиги.
if (Global.testingServer.db.configurations.getCheckedCount() == 0) {
Log.Writeln_("Не отмечена ни одна конфигурация тестирования.");
return false; 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);
}
} }