эталоны
работают только для тестов на корректность,и если задана соответствующая настройка( с последним можно подумать и искать их самостоятельно, если они есть)
This commit is contained in:
6
.idea/workspace.xml
generated
6
.idea/workspace.xml
generated
@@ -8,11 +8,11 @@
|
|||||||
<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 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$/src/_VisualDVM/GlobalData/Tasks/TaskState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Tasks/TaskState.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Tasks/TaskState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Tasks/TaskState.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/RefreshDVMPackageResults.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/RefreshDVMPackageResults.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackage.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackage.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTestingPlanner.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/UI/DVMRunTasksForm.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/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Utils.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" />
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
"EmailOnTestingProgress": true,
|
"EmailOnTestingProgress": true,
|
||||||
"CompleteCompilationOptions": false,
|
"CompleteCompilationOptions": false,
|
||||||
"CompleteRunEnvironments": false,
|
"CompleteRunEnvironments": false,
|
||||||
"CreateEthalonTasks": false,
|
"CreateEthalonTasks": true,
|
||||||
"ErasePackageWorkspace": true,
|
"ErasePackageWorkspace": true,
|
||||||
"lastMachineId": 28,
|
"lastMachineId": 28,
|
||||||
"lastUserId": 36,
|
"lastUserId": 36,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import Common.Utils.Vector_;
|
|||||||
|
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
public class Constants {
|
public class Constants {
|
||||||
public static final int version = 1211;
|
public static final int version = 1212;
|
||||||
public static final int planner_version = 24;
|
public static final int planner_version = 24;
|
||||||
public static final int testingMaxKernels = 64;
|
public static final int testingMaxKernels = 64;
|
||||||
//--
|
//--
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ public enum TaskState implements StatusEnum {
|
|||||||
case Done:
|
case Done:
|
||||||
return "успешно";
|
return "успешно";
|
||||||
case DoneWithDiffs:
|
case DoneWithDiffs:
|
||||||
return "различия с эталоном";
|
return "различия";
|
||||||
case DoneWithErrors:
|
case DoneWithErrors:
|
||||||
return "с ошибками";
|
return "с ошибками";
|
||||||
case Crushed:
|
case Crushed:
|
||||||
@@ -103,6 +103,7 @@ public enum TaskState implements StatusEnum {
|
|||||||
case WrongTestFormat:
|
case WrongTestFormat:
|
||||||
case InternalError:
|
case InternalError:
|
||||||
case Canceled:
|
case Canceled:
|
||||||
|
case DoneWithDiffs:
|
||||||
return VisualiserFonts.BadState;
|
return VisualiserFonts.BadState;
|
||||||
case Queued:
|
case Queued:
|
||||||
case Running:
|
case Running:
|
||||||
@@ -112,7 +113,6 @@ public enum TaskState implements StatusEnum {
|
|||||||
case Crushed:
|
case Crushed:
|
||||||
return VisualiserFonts.Fatal;
|
return VisualiserFonts.Fatal;
|
||||||
case Finished:
|
case Finished:
|
||||||
case DoneWithDiffs:
|
|
||||||
return VisualiserFonts.BlueState;
|
return VisualiserFonts.BlueState;
|
||||||
case WorkspaceReady:
|
case WorkspaceReady:
|
||||||
return VisualiserFonts.ReadyState;
|
return VisualiserFonts.ReadyState;
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
|
|||||||
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMCompilationTask;
|
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMCompilationTask;
|
||||||
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask;
|
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask;
|
||||||
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMTask;
|
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMTask;
|
||||||
import _VisualDVM.TestingSystem.SAPFOR.SapforTask.SapforTask;
|
|
||||||
import _VisualDVM.Utils;
|
import _VisualDVM.Utils;
|
||||||
import com.sun.org.glassfish.gmbal.Description;
|
import com.sun.org.glassfish.gmbal.Description;
|
||||||
import javafx.util.Pair;
|
import javafx.util.Pair;
|
||||||
@@ -149,7 +148,7 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
|||||||
if (Global.normalProperties.CreateEthalonTasks && group.type.equals(TestType.Correctness)) {
|
if (Global.normalProperties.CreateEthalonTasks && group.type.equals(TestType.Correctness)) {
|
||||||
if (ethalon == null) {
|
if (ethalon == null) {
|
||||||
compilationTasks.add(compilationTask = new DVMCompilationTask(index, configuration, "-s", group, test));
|
compilationTasks.add(compilationTask = new DVMCompilationTask(index, configuration, "-s", group, test));
|
||||||
compilationTask.runTasks.add(ethalon= new DVMRunTask(
|
compilationTask.runTasks.add(ethalon = new DVMRunTask(
|
||||||
index,
|
index,
|
||||||
compilationTask,
|
compilationTask,
|
||||||
configuration,
|
configuration,
|
||||||
@@ -160,10 +159,10 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
|||||||
"",
|
"",
|
||||||
"-s", "",
|
"-s", "",
|
||||||
kernels));
|
kernels));
|
||||||
tasksCount ++;
|
tasksCount++;
|
||||||
}
|
}
|
||||||
//--
|
//--
|
||||||
for (DVMRunTask dvmRunTask: testRunTasks) {
|
for (DVMRunTask dvmRunTask : testRunTasks) {
|
||||||
dvmRunTask.ethalon_id = ethalon.id;
|
dvmRunTask.ethalon_id = ethalon.id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -229,7 +228,7 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
|||||||
for (DVMTask task : tasks)
|
for (DVMTask task : tasks)
|
||||||
sorted_tasks.put(task.id, task);
|
sorted_tasks.put(task.id, task);
|
||||||
//--
|
//--
|
||||||
File info_file = Utils_.getFile(packageLocalWorkspace.getAbsolutePath(),"results", file_name);
|
File info_file = Utils_.getFile(packageLocalWorkspace.getAbsolutePath(), "results", file_name);
|
||||||
List<String> lines = FileUtils.readLines(info_file, Charset.defaultCharset());
|
List<String> lines = FileUtils.readLines(info_file, Charset.defaultCharset());
|
||||||
for (String packed : lines) {
|
for (String packed : lines) {
|
||||||
if (!packed.isEmpty()) {
|
if (!packed.isEmpty()) {
|
||||||
@@ -253,13 +252,16 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
|||||||
for (DVMCompilationTask compilationTask : package_json.compilationTasks)
|
for (DVMCompilationTask compilationTask : package_json.compilationTasks)
|
||||||
runTasks.addAll(compilationTask.runTasks);
|
runTasks.addAll(compilationTask.runTasks);
|
||||||
//----
|
//----
|
||||||
getTasksInfo(packageLocalWorkspace,package_json.compilationTasks, "CompilationInfo.txt");
|
getTasksInfo(packageLocalWorkspace, package_json.compilationTasks, "CompilationInfo.txt");
|
||||||
getTasksInfo(packageLocalWorkspace,runTasks, "RunningInfo.txt");
|
getTasksInfo(packageLocalWorkspace, runTasks, "RunningInfo.txt");
|
||||||
//--
|
//--
|
||||||
int ct_count = 0;
|
int ct_count = 0;
|
||||||
int rt_count = 0;
|
int rt_count = 0;
|
||||||
int good = 0;
|
int good = 0;
|
||||||
//--
|
//--
|
||||||
|
LinkedHashMap<Integer, DVMRunTask> sortedRunTasks = new LinkedHashMap<>();
|
||||||
|
Vector<Integer> rte_ids = new Vector<>(); //id задач у которых есть эталон.
|
||||||
|
//-
|
||||||
for (DVMCompilationTask compilationTask : package_json.compilationTasks) {
|
for (DVMCompilationTask compilationTask : package_json.compilationTasks) {
|
||||||
compilationTask.dvm_package_id = id;
|
compilationTask.dvm_package_id = id;
|
||||||
if (!compilationTask.state.equals(TaskState.Done))
|
if (!compilationTask.state.equals(TaskState.Done))
|
||||||
@@ -267,7 +269,10 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
|||||||
ct_count++;
|
ct_count++;
|
||||||
File ct_workspace = Paths.get(packageLocalWorkspace.getAbsolutePath(), "results", String.valueOf(compilationTask.id)).toFile();
|
File ct_workspace = Paths.get(packageLocalWorkspace.getAbsolutePath(), "results", String.valueOf(compilationTask.id)).toFile();
|
||||||
if (ct_workspace.exists()) {
|
if (ct_workspace.exists()) {
|
||||||
|
//1 проход. анализ всех задач подряд
|
||||||
for (DVMRunTask runTask : compilationTask.runTasks) {
|
for (DVMRunTask runTask : compilationTask.runTasks) {
|
||||||
|
sortedRunTasks.put(runTask.id, runTask);
|
||||||
|
//--
|
||||||
runTask.dvm_package_id = id;
|
runTask.dvm_package_id = id;
|
||||||
rt_count++;
|
rt_count++;
|
||||||
runTask.compilation_state = compilationTask.state;
|
runTask.compilation_state = compilationTask.state;
|
||||||
@@ -294,6 +299,7 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
|||||||
if (Utils.isCrushed(output_lines, errors_lines)) {
|
if (Utils.isCrushed(output_lines, errors_lines)) {
|
||||||
runTask.state = TaskState.Crushed;
|
runTask.state = TaskState.Crushed;
|
||||||
} else {
|
} else {
|
||||||
|
//--
|
||||||
Pair<TaskState, Integer> results = new Pair<>(TaskState.Done, 100);
|
Pair<TaskState, Integer> results = new Pair<>(TaskState.Done, 100);
|
||||||
switch (runTask.test_type) {
|
switch (runTask.test_type) {
|
||||||
case Correctness:
|
case Correctness:
|
||||||
@@ -301,23 +307,58 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
|||||||
break;
|
break;
|
||||||
case Performance:
|
case Performance:
|
||||||
results = Utils.analyzePerformance(output_lines);
|
results = Utils.analyzePerformance(output_lines);
|
||||||
|
runTask.CleanTime = Utils.parseCleanTime(output);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
//---
|
||||||
runTask.state = results.getKey();
|
runTask.state = results.getKey();
|
||||||
runTask.progress = results.getValue();
|
runTask.progress = results.getValue();
|
||||||
runTask.CleanTime = Utils.parseCleanTime(output);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!runTask.state.equals(TaskState.Done))
|
if (runTask.state.equals(TaskState.Done)) {
|
||||||
|
good++;
|
||||||
|
if (runTask.ethalon_id != CommonConstants.Nan) rte_ids.add(runTask.id);
|
||||||
|
//с эталоном сверяем только если задача выполнена
|
||||||
|
} else {
|
||||||
hasErrors = true;
|
hasErrors = true;
|
||||||
else good++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
//-
|
||||||
|
//2 проход. если у успешных задач есть эталоны.
|
||||||
|
for (int task_id : rte_ids) {
|
||||||
|
DVMRunTask runTask = sortedRunTasks.get(task_id);
|
||||||
|
DVMRunTask ethalon = sortedRunTasks.get(runTask.ethalon_id);
|
||||||
|
if (ethalon.state.equals(TaskState.Done)) {
|
||||||
|
//проверяем только если эталон выполнен.
|
||||||
|
//--------------------------------------
|
||||||
|
File taskOutFile = Utils_.getFile(
|
||||||
|
packageLocalWorkspace.getAbsolutePath(),
|
||||||
|
"results",
|
||||||
|
String.valueOf(runTask.id),
|
||||||
|
Constants.out_file
|
||||||
|
);
|
||||||
|
File ethalonOutFile = Utils_.getFile(
|
||||||
|
packageLocalWorkspace.getAbsolutePath(),
|
||||||
|
"results",
|
||||||
|
String.valueOf(ethalon.id),
|
||||||
|
Constants.out_file
|
||||||
|
);
|
||||||
|
String taskOut = FileUtils.readFileToString(taskOutFile);
|
||||||
|
String ethalonOut = FileUtils.readFileToString(ethalonOutFile);
|
||||||
|
if (!taskOut.equals(ethalonOut)){
|
||||||
|
runTask.state = TaskState.DoneWithDiffs;
|
||||||
|
hasErrors = true;
|
||||||
|
good--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//-
|
||||||
progress = 100;
|
progress = 100;
|
||||||
doneTasksCount = good;
|
doneTasksCount = good;
|
||||||
saveJson(); //запись обновленных результатов пакета в json!
|
saveJson(); //запись обновленных результатов пакета в json!
|
||||||
|
|||||||
@@ -63,6 +63,14 @@ public class DVMRunTasksForm extends DataSetControlForm<DVMRunTask> {
|
|||||||
return RendererStatusEnum.class;
|
return RendererStatusEnum.class;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
/*
|
||||||
|
new ColumnInfo<DVMRunTask>("эталон") {
|
||||||
|
@Override
|
||||||
|
public Object getFieldAt(DVMRunTask object) {
|
||||||
|
return object.ethalon_id;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
*/
|
||||||
new ColumnInfo<DVMRunTask>("Матрица") {
|
new ColumnInfo<DVMRunTask>("Матрица") {
|
||||||
@Override
|
@Override
|
||||||
public Object getFieldAt(DVMRunTask object) {
|
public Object getFieldAt(DVMRunTask object) {
|
||||||
|
|||||||
@@ -511,9 +511,6 @@ public class Utils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
TaskState state = TaskState.Finished;
|
TaskState state = TaskState.Finished;
|
||||||
// if (starts == 0 || ends == 0) {
|
|
||||||
// state = TaskState.WrongTestFormat;
|
|
||||||
// } else
|
|
||||||
if (errors > 0) {
|
if (errors > 0) {
|
||||||
state = TaskState.DoneWithErrors;
|
state = TaskState.DoneWithErrors;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user