Отображение результатов задач.

This commit is contained in:
2023-12-17 21:38:54 +03:00
parent 6011a2851c
commit 86c6c4700e
7 changed files with 73 additions and 25 deletions

View File

@@ -10,6 +10,8 @@ import TestingSystem.Common.Test.TestType;
import TestingSystem.DVM.Configuration.Configuration;
import com.google.gson.annotations.Expose;
import java.io.File;
import java.nio.file.Paths;
import java.util.Vector;
public class DVMRunTask extends DVMTask {
@Expose
@@ -112,20 +114,22 @@ public class DVMRunTask extends DVMTask {
public boolean isVisible() {
return Global.testingServer.db.dvmRunTasks.applyFilters(this);
}
public File getCompilationTaskWorkspace() {
return Paths.get(
Global.PackagesDirectory.getAbsolutePath(),
String.valueOf(dvm_package_id),
"results",
String.valueOf(dvmcompilationtask_id)
).toFile();
}
public String getCompilationOutput() {
return "?";
return getResultFile(new File(getCompilationTaskWorkspace(),Constants.out_file));
}
public String getCompilationErrors() {
return "?";
}
public String getOutput() {
return "?";
}
public String getErrors() {
return "?";
return getResultFile(new File(getCompilationTaskWorkspace(),Constants.err_file));
}
public String getStatistic() {
return "?";
return getResultFile(new File(getLocalWorkspace(), Constants.statistic + ".txt"));
}
}
//--

View File

@@ -2,6 +2,7 @@ package TestingSystem.DVM.DVMTasks;
import Common.Constants;
import Common.Database.DBObject;
import Common.Database.iDBObject;
import Common.Global;
import GlobalData.Tasks.TaskState;
import ProjectData.LanguageName;
import TestingSystem.Common.Group.Group;
@@ -9,11 +10,14 @@ 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 org.apache.commons.io.FileUtils;
import java.util.Date;
import java.io.File;
import java.nio.file.Paths;
import java.util.Vector;
public class DVMTask extends iDBObject {
@Expose
public int dvm_package_id = Constants.Nan;
@Expose
public int group_id = Constants.Nan;
@Expose
@@ -60,7 +64,7 @@ public class DVMTask extends iDBObject {
public DVMTask() {
}
public DVMTask(Configuration configuration,
Group group, Test test, String flags_in) {
Group group, Test test, String flags_in) {
group_id = group.id;
test_id = test.id;
group_description = group.description;
@@ -69,7 +73,34 @@ public class DVMTask extends iDBObject {
language = group.language;
flags = flags_in;
}
public File getLocalWorkspace() {
return
Paths.get(Global.PackagesDirectory.getAbsolutePath(),
String.valueOf(dvm_package_id),
"results",
String.valueOf(id)).toFile();
}
public Vector<String> pack(Object arg) {
return null;
}
public String getResultFile(File resultFile) {
String res = "";
if (dvm_package_id == Constants.Nan) res = "задача ещё не выполнялась";
else {
if (resultFile.exists()) {
try {
res = FileUtils.readFileToString(resultFile);
} catch (Exception ex) {
ex.printStackTrace();
}
} else res = "не существует";
}
return res;
}
public String getOutput() {
return getResultFile(new File(getLocalWorkspace(), Constants.out_file));
}
public String getErrors() {
return getResultFile(new File(getLocalWorkspace(), Constants.err_file));
}
}

View File

@@ -283,12 +283,10 @@ public class DVMTestingPlanner extends TestingPlanner<DVMPackage> {
unzipFolderPass.Do(results_archive.getAbsolutePath(), packageLocalWorkspace.getAbsolutePath(), false);
}
//todo привязать это к настройкам, чтобы можно было включать/выключать удаление.
/*
//получили результат. теперь уничтожаем папку пакета на целевой машине.
if ( user.connection.Exists(packageRemoteWorkspace)){
user.connection.RMDIR(packageRemoteWorkspace.full_name);
}
*/
}
@Override
protected void AnalyseResults() throws Exception {
@@ -305,10 +303,12 @@ public class DVMTestingPlanner extends TestingPlanner<DVMPackage> {
int rt_count = 0;
//--
for (DVMCompilationTask compilationTask : testingPackage.package_json.compilationTasks) {
compilationTask.dvm_package_id = testingPackage.id;
ct_count++;
File ct_workspace = Paths.get(packageLocalWorkspace.getAbsolutePath(), "results", String.valueOf(compilationTask.id)).toFile();
if (ct_workspace.exists()) {
for (DVMRunTask runTask : compilationTask.runTasks) {
runTask.dvm_package_id = testingPackage.id;
rt_count++;
runTask.compilation_state = compilationTask.state;
runTask.compilation_time = compilationTask.Time;

View File

@@ -1,13 +1,11 @@
package Visual_DVM_2021.Passes.All;
import Common.Constants;
import Common.Global;
import Common.UI.UI;
import TestingSystem.Common.TestingServer;
import Common.Utils.Utils;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import Visual_DVM_2021.Passes.DeleteServerObjects;
import Visual_DVM_2021.Passes.DeleteTestingPackages;
import java.util.Vector;
import java.io.File;
public class DeleteDVMPackage extends DeleteTestingPackages<DVMPackage> {
public DeleteDVMPackage() {
super(DVMPackage.class);
@@ -16,5 +14,14 @@ public class DeleteDVMPackage extends DeleteTestingPackages<DVMPackage> {
super.showPreparation();
UI.getMainWindow().getTestingWindow().DropTestRunTasksComparison();
}
@Override
protected void performDone() throws Exception {
super.performDone();
for (Object object : target) {
int id = (int) object;
File workspace = new File(Global.PackagesDirectory, String.valueOf(id));
Utils.forceDeleteWithCheck(workspace);
}
}
}

View File

@@ -8,10 +8,11 @@ import TestingSystem.DVM.DVMPackage.DVMPackage;
import java.io.File;
import java.util.Vector;
public class DownloadDVMPackage extends DownloadDVMPackages {
DVMPackage dvmPackage;
protected boolean canStart(Object... args) throws Exception {
if (Current.Check(Log, Current.DVMPackage)) {
//--
DVMPackage dvmPackage = Current.getDVMPackage();
dvmPackage = Current.getDVMPackage();
//--
if (!dvmPackage.state.equals(TasksPackageState.Done)) {
Log.Writeln_("Возможно скачать и отобразить задачи только завершённого пакета!");
@@ -27,4 +28,8 @@ public class DownloadDVMPackage extends DownloadDVMPackages {
}
return false;
}
@Override
protected void showDone() throws Exception {
Global.testingServer.db.dvmRunTasks.ShowDVMPackage(dvmPackage);
}
}

View File

@@ -1,10 +1,10 @@
package Visual_DVM_2021.Passes;
import Common.Constants;
import Common.Global;
import Common.UI.UI;
import TestingSystem.Common.TestingPackage.TestingPackage;
import TestingSystem.Common.TestingServer;
import java.io.File;
import java.util.Vector;
public class DeleteTestingPackages<P extends TestingPackage> extends DeleteServerObjects<TestingServer, P>{
boolean delete_draft;
@@ -57,4 +57,5 @@ public class DeleteTestingPackages<P extends TestingPackage> extends DeleteServe
getDb().tables.get(d).Data.remove(Constants.Nan);
getDb().tables.get(d).ShowUI();
}
}