ввел состояние пакета тестирования - выполнен с ошибками.

This commit is contained in:
2024-09-25 01:27:02 +03:00
parent bb671c5166
commit 679e46499e
12 changed files with 75 additions and 40 deletions

20
.idea/workspace.xml generated
View File

@@ -8,17 +8,17 @@
<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/TestingSystem/Common/TasksPackageState.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TasksPackageState.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Constants.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPlanner.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/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Utils/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Utils/Utils.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/BugReport/BugReportInterface.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/BugReport/BugReportInterface.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/RepositoryServer.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/Json/SapforPackage_json.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Repository/Server/ComponentsServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Repository/Server/ComponentsServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforTestingPlanner.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AppendBugReportField.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/AppendBugReportField.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/AbortTestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/AbortTestingPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishBugReport.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/PublishBugReport.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadDVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/UpdateBugReportField.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/UpdateBugReportField.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadSapforPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/DownloadSapforPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ExportDVMPackageToExcel.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ExportDVMPackageToExcel.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" />

View File

@@ -30,12 +30,14 @@ public enum TasksPackageState implements StatusEnum {
//- //-
Done, Done,
Aborted, Aborted,
ConnectionError ConnectionError,
DoneWithErrors
; ;
public boolean isActive() { public boolean isActive() {
switch (this) { switch (this) {
case Inactive: case Inactive:
case Done: case Done:
case DoneWithErrors:
case Aborted: case Aborted:
case Draft: case Draft:
case ConnectionError: case ConnectionError:
@@ -44,6 +46,16 @@ public enum TasksPackageState implements StatusEnum {
return true; return true;
} }
} }
public boolean isDone() {
switch (this) {
case Done:
case DoneWithErrors:
return true;
default:
return false;
}
}
@Override @Override
public VisualiserFonts getFont() { public VisualiserFonts getFont() {
switch (this) { switch (this) {
@@ -56,6 +68,8 @@ public enum TasksPackageState implements StatusEnum {
return VisualiserFonts.ProgressState; return VisualiserFonts.ProgressState;
case Done: case Done:
return VisualiserFonts.GoodState; return VisualiserFonts.GoodState;
case DoneWithErrors:
return VisualiserFonts.BadState;
default: default:
return StatusEnum.super.getFont(); return StatusEnum.super.getFont();
} }
@@ -97,6 +111,8 @@ public enum TasksPackageState implements StatusEnum {
return "завершен"; return "завершен";
case ConnectionError: case ConnectionError:
return "сбой связи"; return "сбой связи";
case DoneWithErrors:
return "завершен с ошибками";
default: default:
return StatusEnum.super.getDescription(); return StatusEnum.super.getDescription();
} }

View File

@@ -27,12 +27,13 @@ public abstract class TestingPlanner<P extends TestingPackage> extends Repositor
protected Machine machine = null; protected Machine machine = null;
protected User user = null; protected User user = null;
//---- //----
void UpdatePackageState(TasksPackageState state_in) throws Exception { protected void UpdatePackageState(TasksPackageState state_in) throws Exception {
testingPackage.state = state_in; testingPackage.state = state_in;
testingPackage.ChangeDate = new Date().getTime(); testingPackage.ChangeDate = new Date().getTime();
ServerCommand(ServerCode.EditObject, testingPackage); ServerCommand(ServerCode.EditObject, testingPackage);
switch (testingPackage.state) { switch (testingPackage.state) {
case Done: case Done:
case DoneWithErrors:
case Aborted: case Aborted:
case CompilationExecution: case CompilationExecution:
case RunningExecution: case RunningExecution:
@@ -61,7 +62,9 @@ public abstract class TestingPlanner<P extends TestingPackage> extends Repositor
} }
protected abstract void TestsSynchronize() throws Exception; protected abstract void TestsSynchronize() throws Exception;
protected abstract void PackageWorkspaceCreation() throws Exception; protected abstract void PackageWorkspaceCreation() throws Exception;
protected abstract void AnalyseResults() throws Exception; protected void AnalyseResults() throws Exception {
UpdatePackageState(TasksPackageState.Done);
};
protected abstract void PackageStart() throws Exception; protected abstract void PackageStart() throws Exception;
protected abstract boolean CheckNextState() throws Exception; protected abstract boolean CheckNextState() throws Exception;
protected abstract void DownloadResults() throws Exception; protected abstract void DownloadResults() throws Exception;
@@ -86,8 +89,7 @@ public abstract class TestingPlanner<P extends TestingPackage> extends Repositor
//-- //--
InitSessionCredentials(); InitSessionCredentials();
if (testingPackage.state.equals(TasksPackageState.Analysis)) { if (testingPackage.state.equals(TasksPackageState.Analysis)) {
AnalyseResults(); AnalyseResults(); //todo ввести состояние DoneWithErrors
UpdatePackageState(TasksPackageState.Done);
} else { } else {
try { try {
if (Connect()) { if (Connect()) {

View File

@@ -7,6 +7,7 @@ import Common.Utils.Utils;
import GlobalData.Account.Account; import GlobalData.Account.Account;
import ProjectData.LanguageName; import ProjectData.LanguageName;
import Repository.Component.Sapfor.Sapfor; import Repository.Component.Sapfor.Sapfor;
import Repository.EmailMessage;
import Repository.RepositoryRefuseException; import Repository.RepositoryRefuseException;
import Repository.RepositoryServer; import Repository.RepositoryServer;
import Repository.Server.ServerCode; import Repository.Server.ServerCode;
@@ -55,8 +56,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
+ "\nТест будет удален" + "\nТест будет удален"
); );
} }
} } else if (object instanceof DVMPackage) {
else if (object instanceof DVMPackage) {
DVMPackage dvmPackage = (DVMPackage) object; DVMPackage dvmPackage = (DVMPackage) object;
//-- //--
Utils.CheckAndCleanDirectory(dvmPackage.getLocalWorkspace()); Utils.CheckAndCleanDirectory(dvmPackage.getLocalWorkspace());
@@ -64,8 +64,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
dvmPackage.saveJson(); dvmPackage.saveJson();
dvmPackage.package_json = null; // объект больше не нужен. dvmPackage.package_json = null; // объект больше не нужен.
//-- //--
} } else if (object instanceof SapforPackage) {
else if (object instanceof SapforPackage) {
((SapforPackage) object).init(); ((SapforPackage) object).init();
} }
} }
@@ -176,15 +175,12 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
tryAutoSapforTesting(Log); tryAutoSapforTesting(Log);
response = new ServerExchangeUnit_2021(ServerCode.OK); response = new ServerExchangeUnit_2021(ServerCode.OK);
if (!Log.isEmpty()) { if (!Log.isEmpty()) {
/*
Vector<String> targets = new Vector<>(Arrays.asList(Global.admins_mails));
EmailMessage message = new EmailMessage( EmailMessage message = new EmailMessage(
"Выполнена сборка системы SAPFOR", "Не удалось запустить автоматическое тестирование системы SAPFOR",
"Версия: " + version_s + "\n" + "Статус: " + status, Log.toString(),
targets new Vector<>()
); );
Email(message); Email(message);
*/
} }
break; break;
case DownloadTest: case DownloadTest:
@@ -626,7 +622,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
} }
Vector<SapforConfiguration> configurations = db.sapforConfigurations.getAutoConfigurations(); Vector<SapforConfiguration> configurations = db.sapforConfigurations.getAutoConfigurations();
if (configurations.isEmpty()) { if (configurations.isEmpty()) {
Log.Writeln_("Не найдено конфигурация для автоматического тестирования!"); Log.Writeln_("Не найдено конфигураций для автоматического тестирования!");
return; return;
} }
SapforPackage target = new SapforPackage(account, SapforPackage target = new SapforPackage(account,
@@ -635,6 +631,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
1, 1,
Log); Log);
//- //-
if (target.tasksCount == 0) {
Log.Writeln_("Не сформировано ни одной новой задачи.");
return;
}
beforePublishAction(target); beforePublishAction(target);
db.InsertS(target); db.InsertS(target);
afterPublishAction(target); afterPublishAction(target);

View File

@@ -80,6 +80,7 @@ public class TestsDatabase extends SQLiteDatabase {
case Aborted: case Aborted:
case Draft: case Draft:
case ConnectionError: case ConnectionError:
case DoneWithErrors:
break; break;
default: default:
packages.add(p); packages.add(p);
@@ -117,6 +118,7 @@ public class TestsDatabase extends SQLiteDatabase {
for (DVMPackage dvmPackage : dvmPackages.Data.values()) { for (DVMPackage dvmPackage : dvmPackages.Data.values()) {
switch (dvmPackage.state) { switch (dvmPackage.state) {
case Done: case Done:
case DoneWithErrors:
case Aborted: case Aborted:
case Draft: case Draft:
case ConnectionError: case ConnectionError:
@@ -237,6 +239,7 @@ public class TestsDatabase extends SQLiteDatabase {
for (DVMPackage dvmPackage : dvmPackages.Data.values()) { for (DVMPackage dvmPackage : dvmPackages.Data.values()) {
switch (dvmPackage.state) { switch (dvmPackage.state) {
case Done: case Done:
case DoneWithErrors:
case Aborted: case Aborted:
case Draft: case Draft:
case ConnectionError: case ConnectionError:

View File

@@ -155,6 +155,7 @@ public class RemoteDVMTestingPlanner extends DVMTestingPlanner {
testingPackage.progress = 100; testingPackage.progress = 100;
testingPackage.saveJson(); //запись обновленных результатов пакета в json! testingPackage.saveJson(); //запись обновленных результатов пакета в json!
Print("analysis done, ct_count=" + ct_count + " rt count=" + rt_count); Print("analysis done, ct_count=" + ct_count + " rt count=" + rt_count);
UpdatePackageState(TasksPackageState.Done);
} }
@Override @Override
protected void PackageStart() throws Exception { protected void PackageStart() throws Exception {

View File

@@ -1,5 +1,6 @@
package TestingSystem.SAPFOR.Json; package TestingSystem.SAPFOR.Json;
import GlobalData.Tasks.TaskState; import GlobalData.Tasks.TaskState;
import TestingSystem.Common.TasksPackageState;
import TestingSystem.SAPFOR.SapforPackage.SapforPackage; import TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import TestingSystem.SAPFOR.SapforTask.ComparisonState; import TestingSystem.SAPFOR.SapforTask.ComparisonState;
import TestingSystem.SAPFOR.SapforTask.SapforTask; import TestingSystem.SAPFOR.SapforTask.SapforTask;
@@ -184,4 +185,10 @@ public class SapforPackage_json implements Serializable {
}); });
return names; return names;
} }
public TasksPackageState getState(){
for (SapforTask task: tasks)
if (!task.state.equals(TaskState.Done))
return TasksPackageState.DoneWithErrors;
return TasksPackageState.Done;
}
} }

View File

@@ -146,6 +146,8 @@ public class SapforTestingPlanner extends TestingPlanner<SapforPackage> {
protected void AnalyseResults() throws Exception { protected void AnalyseResults() throws Exception {
//не требуется. //не требуется.
testingPackage.progress = 100; testingPackage.progress = 100;
testingPackage.readJson();
UpdatePackageState(testingPackage.package_json.getState());
} }
@Override @Override
protected void Kill() throws Exception { protected void Kill() throws Exception {

View File

@@ -25,6 +25,7 @@ public abstract class AbortTestingPackage extends TestingSystemPass<TestingPacka
switch (target.state) { switch (target.state) {
case Done: case Done:
case Aborted: case Aborted:
case DoneWithErrors:
Log.Writeln_("Пакет уже завершен."); Log.Writeln_("Пакет уже завершен.");
break; break;
case Inactive: case Inactive:

View File

@@ -19,7 +19,9 @@ public class DownloadDVMPackage extends DownloadDVMPackages {
//-- //--
dvmPackage = Current.getDVMPackage(); dvmPackage = Current.getDVMPackage();
//-- //--
if (!dvmPackage.state.equals(TasksPackageState.Done)) { if (!dvmPackage.state.isDone()
) {
Log.Writeln_("Возможно скачать и отобразить задачи только завершённого пакета!"); Log.Writeln_("Возможно скачать и отобразить задачи только завершённого пакета!");
return false; return false;
} }

View File

@@ -23,7 +23,7 @@ public class DownloadSapforPackage extends Pass_2021<SapforPackage> {
@Override @Override
protected boolean canStart(Object... args) throws Exception { protected boolean canStart(Object... args) throws Exception {
target = (SapforPackage) args[0]; target = (SapforPackage) args[0];
if (!target.state.equals(TasksPackageState.Done)){ if (!target.state.isDone()){
Log.Writeln_("Возможно загрузить только завершенный пакет."); Log.Writeln_("Возможно загрузить только завершенный пакет.");
return false; return false;
} }

View File

@@ -68,7 +68,8 @@ public class ExportDVMPackageToExcel extends Pass_2021<Vector<DVMPackage>> {
} }
Vector<Integer> packagesToDownload = new Vector<>(); Vector<Integer> packagesToDownload = new Vector<>();
for (DVMPackage dvmPackage : target) { for (DVMPackage dvmPackage : target) {
if (!dvmPackage.state.equals(TasksPackageState.Done)) { if (!dvmPackage.state.isDone())
{
Log.Writeln_("Пакет " + dvmPackage.id + " не завершен."); Log.Writeln_("Пакет " + dvmPackage.id + " не завершен.");
} else { } else {
if (!new File(dvmPackage.getLocalWorkspace(), Constants.LOADED).exists()){ if (!new File(dvmPackage.getLocalWorkspace(), Constants.LOADED).exists()){