diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 37565620..e04ef253 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -7,15 +7,15 @@
-
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
@@ -37,8 +37,8 @@
-
+
@@ -93,7 +93,7 @@
-
+
@@ -106,9 +106,9 @@
+
-
diff --git a/src/Common/UI/Menus_2023/TestingBar/TestingBar.java b/src/Common/UI/Menus_2023/TestingBar/TestingBar.java
index c54a3705..eb0f6060 100644
--- a/src/Common/UI/Menus_2023/TestingBar/TestingBar.java
+++ b/src/Common/UI/Menus_2023/TestingBar/TestingBar.java
@@ -27,7 +27,8 @@ public class TestingBar extends VisualiserMenuBar {
sKernels.setPreferredSize(new Dimension(60, 26));
sKernels.setMaximumSize(new Dimension(60, 26));
sKernels.setModel(new SpinnerNumberModel(Global.properties.TestingKernels, 1,
- Utils.getTestingMaxKernels(), 1));
+ Utils.getTestingMaxKernels(),
+ 1));
sKernels.setValue(Global.properties.TestingKernels);
UI.MakeSpinnerRapid(sKernels, e -> {
Global.properties.updateField("TestingKernels", sKernels.getValue());
diff --git a/src/Common/Utils/Utils.java b/src/Common/Utils/Utils.java
index d0df5630..4bd863f4 100644
--- a/src/Common/Utils/Utils.java
+++ b/src/Common/Utils/Utils.java
@@ -1,6 +1,5 @@
package Common.Utils;
import Common.Constants;
-import Common.Current;
import Common.Global;
import Common.UI.UI;
import Common.Utils.Files.VDirectoryChooser;
@@ -1056,11 +1055,9 @@ public class Utils {
}
return false;
}
+ //временно.
public static int getTestingMaxKernels() {
- if (Current.HasAccount()) {
- return (Current.getAccount().isAdmin()) ? 64 : 14;
- }
- return 1;
+ return 64; // (Current.getAccount().isAdmin()) ? 64 : 14;
}
//--
public static boolean isCrushedLine(String line) {
diff --git a/src/ProjectData/LanguageName.java b/src/ProjectData/LanguageName.java
index 9727c733..3b89d5c7 100644
--- a/src/ProjectData/LanguageName.java
+++ b/src/ProjectData/LanguageName.java
@@ -1,5 +1,8 @@
package ProjectData;
import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
+
+import java.util.Arrays;
+import java.util.Vector;
public enum LanguageName {
n,
fortran,
@@ -22,10 +25,10 @@ public enum LanguageName {
switch (this) {
case fortran:
return "f";
- //"flink";
+ //"flink";
case c:
return "c";
- //"clink";
+ //"clink";
default:
return "";
}
@@ -53,8 +56,8 @@ public enum LanguageName {
return SyntaxConstants.SYNTAX_STYLE_NONE;
}
}
- public String getIcon(){
- switch (this){
+ public String getIcon() {
+ switch (this) {
case fortran:
return "/icons/Languages/Fortran.png";
case c:
@@ -65,4 +68,25 @@ public enum LanguageName {
return "";
}
}
+ public Vector getExtensions() {
+ String[] res;
+ switch (this) {
+ case fortran:
+ res = new String[]{"f", "fdv", "for", "f77", "f90", "h"};
+ break;
+ case c:
+ res = new String[]{"c", "cdv", "h"};
+ break;
+ case cpp:
+ res = new String[]{"cpp", "h"};
+ break;
+ default:
+ res = new String[]{};
+ break;
+ }
+ return new Vector<>(Arrays.asList(res));
+ }
+ public String PrintExtensions(){
+ return String.join(",", getExtensions());
+ }
}
diff --git a/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java b/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java
index 9eac9883..53cc2815 100644
--- a/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java
+++ b/src/Visual_DVM_2021/Passes/All/CreateTestFromDirectory.java
@@ -57,7 +57,7 @@ public class CreateTestFromDirectory extends Pass_2021 {
project_files = new Vector<>();
int subdirs = 0;
int bad = 0;
- int fortran_programs = 0;
+ int active_programs = 0;
int headers = 0;
int other_project_files = 0;
//---
@@ -89,16 +89,17 @@ public class CreateTestFromDirectory extends Pass_2021 {
}
if (file.isFile()) {
ProjectFile projectFile = new ProjectFile(file);
- project_files.add(projectFile);
switch (projectFile.fileType) {
case program:
- if (projectFile.languageName.equals(group.language))
- fortran_programs++;
- else
+ if (projectFile.languageName.equals(group.language)) {
+ active_programs++;
+ project_files.add(projectFile);
+ } else
other_project_files++;
break;
case header:
headers++;
+ project_files.add(projectFile);
break;
default:
other_project_files++;
@@ -114,15 +115,23 @@ public class CreateTestFromDirectory extends Pass_2021 {
if (bad > 0) {
return false;
}
- if (fortran_programs == 0) {
+ if (active_programs == 0) {
Log.Writeln_("Папка не содержит ни одной программы на языке " + group.language.getDescription() + ".");
return false;
}
+ /*
if (other_project_files > 0) {
Log.Writeln_("Папка содержит файлы, не являющиеся программами на языке " +
group.language.getDescription() +
", или заголовочными.");
return false;
+ }
+ */
+ if (project_files.isEmpty()){
+ Log.Writeln_("В папке не найдено файлов с допустимыми расширениями для языка "+
+ group.language.getDescription()+"\n"+
+ group.language.PrintExtensions()
+ );
}
//-----
target = new Test();
@@ -136,6 +145,8 @@ public class CreateTestFromDirectory extends Pass_2021 {
target.files = String.join("\n", filesNames);
return true;
}
+ protected void fillProjectFiles() throws Exception {
+ }
@Override
protected void body() throws Exception {
ShowMessage1(dir.getName());
diff --git a/src/Visual_DVM_2021/Passes/All/CreateTestFromFile.java b/src/Visual_DVM_2021/Passes/All/CreateTestFromFile.java
new file mode 100644
index 00000000..4c999a90
--- /dev/null
+++ b/src/Visual_DVM_2021/Passes/All/CreateTestFromFile.java
@@ -0,0 +1,4 @@
+package Visual_DVM_2021.Passes.All;
+import Visual_DVM_2021.Passes.Pass_2021;
+public class CreateTestFromFile extends Pass_2021 {
+}
diff --git a/src/Visual_DVM_2021/Passes/PassCode_2021.java b/src/Visual_DVM_2021/Passes/PassCode_2021.java
index 9007edc3..ba6bf54a 100644
--- a/src/Visual_DVM_2021/Passes/PassCode_2021.java
+++ b/src/Visual_DVM_2021/Passes/PassCode_2021.java
@@ -301,12 +301,15 @@ public enum PassCode_2021 {
CreateTestFromDirectory,
CreateTestFromCurrentProject,
SPF_RemoveComments,
+ CreateTestFromFile,
//->
TestPass;
public String getDescription() {
switch (this) {
case Undefined:
return "?";
+ case CreateTestFromFile:
+ return "Создать тест из файла";
case SPF_RemoveComments:
return "Удаление комментариев";
case CreateTestFromCurrentProject:
diff --git a/src/Visual_DVM_2021/UI/Main/TestingForm.java b/src/Visual_DVM_2021/UI/Main/TestingForm.java
index b1e27f2e..a9e325d7 100644
--- a/src/Visual_DVM_2021/UI/Main/TestingForm.java
+++ b/src/Visual_DVM_2021/UI/Main/TestingForm.java
@@ -58,8 +58,8 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
private final SapforPackagesComparisonForm sapforPackageTreeMaster; //сравнение деревьев пакетов SAPFOR.
private final SapforPackagesComparisonForm sapforPackageTreeSlave;
//--
- private SapforVersionsComparisonForm sapforVersionMaster; //сравнение версий тестов SAPFOR.
- private SapforVersionsComparisonForm sapforVersionSlave;
+ private final SapforVersionsComparisonForm sapforVersionMaster; //сравнение версий тестов SAPFOR.
+ private final SapforVersionsComparisonForm sapforVersionSlave;
//--
public TestingForm() {
content.add(UI.testingBar, BorderLayout.NORTH);
diff --git a/src/icons/AddFile.png b/src/icons/AddFile.png
new file mode 100644
index 00000000..eb527819
Binary files /dev/null and b/src/icons/AddFile.png differ