++
отслеживание нанов в тестах
This commit is contained in:
19
.idea/workspace.xml
generated
19
.idea/workspace.xml
generated
@@ -7,20 +7,17 @@
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/DeleteRemoteWorkspace.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/_VisualDVM/ComponentsServer/ComponentsServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/ComponentsServer.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/SubscriberWorkspace/UI/SubscriberWorkspacesForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ComponentsServer/SubscriberWorkspace/UI/SubscriberWorkspacesForm.java" 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/GlobalData/Compiler/UI/CompilerDialog.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Compiler/UI/CompilerDialog.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Compiler/UI/CompilerFields.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Compiler/UI/CompilerFields.form" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Machine/UI/MachineDialog.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Machine/UI/MachineDialog.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Machine/UI/MachineFields.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/Machine/UI/MachineFields.form" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/User/UI/UserDialog.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/User/UI/UserDialog.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/User/UI/UserFields.form" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/User/UI/UserFields.form" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/User/UI/UserFields.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/GlobalData/User/UI/UserFields.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/InitialiseUser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/InitialiseUser.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/PublishRemoteWorkspace.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/PublishRemoteWorkspace.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ServerCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/ServerCode.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/TestPass.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/All/TestPass.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Passes/PassCode.java" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Repository/Server/RepositoryServer.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/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Utils.java" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"ServerUserPassword": "mprit_2011",
|
||||
"OfferRegistrationOnStart": true,
|
||||
"Workspace": "E:\\Tests",
|
||||
"ProjectsSearchDirectory": "E:\\BUG",
|
||||
"ProjectsSearchDirectory": "E:\\Tests\\Downloads",
|
||||
"DocumentsDirectory": "C:\\Users\\misha\\Documents\\_testing_system",
|
||||
"VisualiserPath": "C:\\Users\\misha\\Downloads",
|
||||
"Sapfor_FPath": "E:\\_sapfor_x64\\Components\\Sapfor_F",
|
||||
@@ -33,8 +33,8 @@
|
||||
"CreateEthalonTasks": true,
|
||||
"ErasePackageWorkspace": true,
|
||||
"lastMachineId": 1,
|
||||
"lastUserId": 40,
|
||||
"lastCompilerId": -1,
|
||||
"lastUserId": 17,
|
||||
"lastCompilerId": 15,
|
||||
"RegisterOn": false,
|
||||
"SpacesOn": false,
|
||||
"EmptyLinesOn": false,
|
||||
|
||||
@@ -6,6 +6,7 @@ import Common.Visual.Tables.ColumnInfo;
|
||||
import _VisualDVM.ComponentsServer.SubscriberWorkspace.SubscriberWorkspace;
|
||||
import _VisualDVM.ComponentsServer.UserAccount.UserAccount;
|
||||
import _VisualDVM.Global;
|
||||
import _VisualDVM.Passes.PassCode;
|
||||
|
||||
import javax.swing.*;
|
||||
public class SubscriberWorkspacesForm extends DataSetControlForm<SubscriberWorkspace> {
|
||||
@@ -45,7 +46,7 @@ public class SubscriberWorkspacesForm extends DataSetControlForm<SubscriberWorks
|
||||
}
|
||||
@Override
|
||||
public DataMenuBar createMenuBar() {
|
||||
return new DataMenuBar(dataSource.getPluralDescription());
|
||||
return new DataMenuBar(dataSource.getPluralDescription(), PassCode.DeleteRemoteWorkspace);
|
||||
}
|
||||
@Override
|
||||
public boolean isObjectVisible(SubscriberWorkspace object) {
|
||||
|
||||
@@ -3,7 +3,7 @@ import Common.Utils.Vector_;
|
||||
|
||||
import java.util.Vector;
|
||||
public class Constants {
|
||||
public static final int version = 1216;
|
||||
public static final int version = 1217;
|
||||
public static final int planner_version = 24;
|
||||
public static final int testingMaxKernels = 64;
|
||||
//--
|
||||
|
||||
@@ -14,11 +14,12 @@ public enum TaskState implements StatusEnum {
|
||||
//-----------------------
|
||||
Finished,
|
||||
//--- результирующие
|
||||
Crushed,
|
||||
NaN,
|
||||
DoneWithErrors,
|
||||
DoneWithDiffs,
|
||||
AbortedByTimeout,
|
||||
AbortedByUser,
|
||||
Crushed,
|
||||
WrongTestFormat,
|
||||
InternalError,
|
||||
Done,
|
||||
@@ -40,6 +41,7 @@ public enum TaskState implements StatusEnum {
|
||||
case InternalError:
|
||||
case Crushed:
|
||||
case DoneWithDiffs:
|
||||
case NaN:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@@ -47,6 +49,8 @@ public enum TaskState implements StatusEnum {
|
||||
}
|
||||
public String getDescription() {
|
||||
switch (this) {
|
||||
case NaN:
|
||||
return "NaN";
|
||||
case Waiting:
|
||||
return "ожидание";
|
||||
case WorkspaceCreated:
|
||||
@@ -104,6 +108,7 @@ public enum TaskState implements StatusEnum {
|
||||
case InternalError:
|
||||
case Canceled:
|
||||
case DoneWithDiffs:
|
||||
case NaN:
|
||||
return VisualiserFonts.BadState;
|
||||
case Queued:
|
||||
case Running:
|
||||
@@ -149,6 +154,7 @@ public enum TaskState implements StatusEnum {
|
||||
case Crushed:
|
||||
case InternalError:
|
||||
case Canceled:
|
||||
case NaN:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
||||
21
src/_VisualDVM/Passes/All/DeleteRemoteWorkspace.java
Normal file
21
src/_VisualDVM/Passes/All/DeleteRemoteWorkspace.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package _VisualDVM.Passes.All;
|
||||
import _VisualDVM.ComponentsServer.SubscriberWorkspace.SubscriberWorkspace;
|
||||
import _VisualDVM.Global;
|
||||
import _VisualDVM.Passes.Server.ComponentsServerPass;
|
||||
import _VisualDVM.Repository.Server.ServerCode;
|
||||
import javafx.util.Pair;
|
||||
public class DeleteRemoteWorkspace extends ComponentsServerPass<SubscriberWorkspace> {
|
||||
@Override
|
||||
public String getIconPath() {
|
||||
return "/Common/icons/Delete.png";
|
||||
}
|
||||
@Override
|
||||
protected boolean canStart(Object... args) throws Exception {
|
||||
if (Global.componentsServer.credentials_db.workspaces.getUI().CheckCurrent(Log)) {
|
||||
target = Global.componentsServer.credentials_db.workspaces.getUI().getCurrent();
|
||||
return SendRequest(ServerCode.DeleteSubscriberWorkspace, "",
|
||||
new Pair<>(target.getClass(), target.getPK()));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package _VisualDVM.Passes.All;
|
||||
import Common.Passes.Pass;
|
||||
import _VisualDVM.Utils;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
@@ -38,46 +39,5 @@ public class TestPass extends Pass {
|
||||
}
|
||||
@Override
|
||||
protected void body() throws Exception {
|
||||
int a = 1 / 0;
|
||||
// System.out.println(Global.componentsServer.credentials_db.userAccounts.getPackedActiveRecipients());
|
||||
// String cpuId = getMotherboardSN();
|
||||
// UI.Info(cpuId);
|
||||
/*
|
||||
SystemInfo systemInfo = new SystemInfo();
|
||||
HardwareAbstractionLayer hardware = systemInfo.getHardware();
|
||||
CentralProcessor processor = hardware.getProcessor();
|
||||
CentralProcessor.ProcessorIdentifier processorIdentifier = processor.getProcessorIdentifier();
|
||||
System.out.println("Processor Vendor: " + processorIdentifier.getVendor());
|
||||
System.out.println("Processor Name: " + processorIdentifier.getName());
|
||||
System.out.println("Processor ID: " + processorIdentifier.getProcessorID());
|
||||
System.out.println("Identifier: " + processorIdentifier.getIdentifier());
|
||||
System.out.println("Microarchitecture: " + processorIdentifier.getMicroarchitecture());
|
||||
System.out.println("Frequency (Hz): " + processorIdentifier.getVendorFreq());
|
||||
System.out.println("Frequency (GHz): " + processorIdentifier.getVendorFreq() / 1000000000.0);
|
||||
*/
|
||||
/*
|
||||
String serial = "";
|
||||
Scanner sc = null;
|
||||
Process process = null;
|
||||
try {
|
||||
process = Runtime.getRuntime().exec(new String[] { "wmic", "cpu", "get", "ProcessorId" });
|
||||
process.getOutputStream().close();
|
||||
sc = new Scanner(process.getInputStream());
|
||||
sc.next();
|
||||
serial = sc.next();
|
||||
} catch (IOException e) {
|
||||
} dummy
|
||||
UI.Info(Utils_.Brackets(serial));
|
||||
*/
|
||||
/*
|
||||
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
|
||||
SecureRandom secureRandom = new SecureRandom();
|
||||
int keyBitSize = 256;
|
||||
keyGenerator.init(keyBitSize, secureRandom);
|
||||
SecretKey secretKey = keyGenerator.generateKey();
|
||||
System.out.println("====");
|
||||
System.out.println(secretKey.getEncoded());
|
||||
System.out.println("====");
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
@@ -249,6 +249,7 @@ public enum PassCode implements PassCode_ {
|
||||
//->
|
||||
CheckRemoteWorkspace,
|
||||
PublishRemoteWorkspace,
|
||||
DeleteRemoteWorkspace,
|
||||
//->
|
||||
PrepareForModulesAssembly,
|
||||
//->
|
||||
@@ -362,6 +363,8 @@ public enum PassCode implements PassCode_ {
|
||||
@Override
|
||||
public String getDescription() {
|
||||
switch (this) {
|
||||
case DeleteRemoteWorkspace:
|
||||
return "Удалить рабочее пространство пользователя";
|
||||
case CompareDVMRunTaskToEthalon:
|
||||
return "Сравнить с эталоном";
|
||||
case ComponentsServerBackUp:
|
||||
|
||||
@@ -227,6 +227,9 @@ public abstract class RepositoryServer<D extends Database> {
|
||||
case ReceiveFile:
|
||||
ReceiveFile();
|
||||
break;
|
||||
case Email:
|
||||
Email();
|
||||
break;
|
||||
default:
|
||||
UnsafeSession();
|
||||
break;
|
||||
|
||||
@@ -150,12 +150,10 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
||||
if (ethalon == null) {
|
||||
String options_ = "-s";
|
||||
String environments_ = "";
|
||||
|
||||
if (Global.normalProperties.CompleteCompilationOptions)
|
||||
options_ = completeOptions(options_);
|
||||
if (Global.normalProperties.CompleteRunEnvironments)
|
||||
environments_ = completeEnvironments(environments_);
|
||||
|
||||
compilationTasks.add(compilationTask = new DVMCompilationTask(
|
||||
index, configuration,
|
||||
options_,
|
||||
@@ -305,23 +303,21 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
||||
List<String> output_lines = Arrays.asList(output.split("\n"));
|
||||
List<String> errors_lines = Arrays.asList(errors.split("\n"));
|
||||
//---
|
||||
if (output.trim().isEmpty()) {
|
||||
runTask.state = TaskState.Crushed;
|
||||
} else {
|
||||
if (Utils.isCrushed(output_lines, errors_lines)) {
|
||||
if (output.trim().isEmpty() || Utils.isCrushed(output_lines, errors_lines)) {
|
||||
runTask.state = TaskState.Crushed;
|
||||
} else {
|
||||
if (Utils.hasNan(output_lines))
|
||||
runTask.state = TaskState.NaN;
|
||||
else {
|
||||
//--
|
||||
Pair<TaskState, Integer> results = new Pair<>(TaskState.Done, 100);
|
||||
switch (runTask.test_type) {
|
||||
case Correctness:
|
||||
results = Utils.analyzeCorrectness(output_lines);
|
||||
break;
|
||||
case Performance:
|
||||
results = Utils.analyzePerformance(output_lines);
|
||||
runTask.CleanTime = Utils.parseCleanTime(output);
|
||||
break;
|
||||
default:
|
||||
results = Utils.analyzeCorrectness(output_lines);
|
||||
break;
|
||||
}
|
||||
//---
|
||||
@@ -363,7 +359,7 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
|
||||
);
|
||||
String taskOut = FileUtils.readFileToString(taskOutFile);
|
||||
String ethalonOut = FileUtils.readFileToString(ethalonOutFile);
|
||||
if (!taskOut.equals(ethalonOut)){
|
||||
if (!taskOut.equals(ethalonOut)) {
|
||||
runTask.state = TaskState.DoneWithDiffs;
|
||||
hasErrors = true;
|
||||
good--;
|
||||
|
||||
@@ -490,6 +490,16 @@ public class Utils {
|
||||
public static boolean isCrushed(List<String> output_lines, List<String> errors_lines) {
|
||||
return output_lines.stream().anyMatch(Utils::isCrushedLine) || errors_lines.stream().anyMatch(Utils::isCrushedLine);
|
||||
}
|
||||
public static boolean hasNan(List<String> output_lines){
|
||||
for (String line: output_lines)
|
||||
if (hasNan(line)) return true;
|
||||
return false;
|
||||
}
|
||||
public static boolean hasNan(String line){
|
||||
Pattern pattern = Pattern.compile("\\bnan\\b");
|
||||
Matcher matcher = pattern.matcher(line.toLowerCase());
|
||||
return matcher.find();
|
||||
}
|
||||
public static Pair<TaskState, Integer> analyzeCorrectness(List<String> lines) {
|
||||
int complete = 0;
|
||||
int errors = 0;
|
||||
|
||||
Reference in New Issue
Block a user