diff --git a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/MainTestSuite.java b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/MainTestSuite.java index 5ec2e7313cf0b57401129b746d8e922142eb5b0a..88389c8c1189721b3fe44621bf966ac3189ff4de 100644 --- a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/MainTestSuite.java +++ b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/MainTestSuite.java @@ -15,6 +15,7 @@ import org.eclipse.core.runtime.URIUtil; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Display; import org.eclipse.titan.regressiontests.designer.Designer_plugin_tests; +import org.eclipse.titan.regressiontests.designer.Designer_plugin_tests_with_OOP; import org.eclipse.ui.PlatformUI; import org.junit.Assert; import org.junit.BeforeClass; @@ -24,7 +25,8 @@ import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({ - Designer_plugin_tests.class + Designer_plugin_tests.class, + Designer_plugin_tests_with_OOP.class }) public final class MainTestSuite { diff --git a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/Designer_plugin_tests.java b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/Designer_plugin_tests.java index a70fe9cc6cdd95da2fdee927bf1cfde08ad493e7..78d15e1386389b066d753249449ce7c2676d047a 100644 --- a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/Designer_plugin_tests.java +++ b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/Designer_plugin_tests.java @@ -49,8 +49,8 @@ public class Designer_plugin_tests { public static final String PROJECT_NAME = "Semantic_Analizer_Tests"; - private static Map>> semanticMarkers; - private static Map>> syntacticMarkers; + protected static Map>> semanticMarkers; + protected static Map>> syntacticMarkers; public static void collectorTransformator() throws Exception { IProject project = WorkspaceHandlingLibrary.getWorkspace().getRoot().getProject(PROJECT_NAME); @@ -76,7 +76,7 @@ public class Designer_plugin_tests { Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.T3DOC_ENABLE, false); Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.DISPLAYDEBUGINFORMATION, true); Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.DEBUG_CONSOLE_LOG_TO_SYSOUT, true); - Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.ENABLEOOPEXTENSION, true); + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.ENABLEOOPEXTENSION, false); WorkspaceHandlingLibrary.setAutoBuilding(false); boolean found = false; @@ -133,7 +133,7 @@ public class Designer_plugin_tests { fail("Invalid markers found"); } } - + public static void checkRealZeroSyntaxMarkersOnFile(final String projectRelativePath) { IFile file = getAccessibleFile(projectRelativePath); List> fileMarkerList = syntacticMarkers.get(file); @@ -207,4 +207,9 @@ public class Designer_plugin_tests { public static Map>> getSyntacticMarkers() { return syntacticMarkers; } + + public static void ignoreMarkersOnFile(String projectRelativePath) { + semanticMarkers.remove(getAccessibleFile(projectRelativePath)); + syntacticMarkers.remove(getAccessibleFile(projectRelativePath)); + } } diff --git a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/Designer_plugin_tests_with_OOP.java b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/Designer_plugin_tests_with_OOP.java new file mode 100644 index 0000000000000000000000000000000000000000..5d6374443e1f3e0c2abb6c31e8c5ef8cd6a0fcca --- /dev/null +++ b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/Designer_plugin_tests_with_OOP.java @@ -0,0 +1,67 @@ +/****************************************************************************** + * Copyright (c) 2000-2021 Ericsson Telecom AB + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html + ******************************************************************************/ +package org.eclipse.titan.regressiontests.designer; + +import java.util.Locale; + +import org.eclipse.core.resources.IProject; +import org.eclipse.core.runtime.URIUtil; +import org.eclipse.titan.designer.Activator; +import org.eclipse.titan.designer.preferences.PreferenceConstants; +import org.eclipse.titan.regressiontests.MainTestSuite; +import org.eclipse.titan.regressiontests.common.CommonTestSuite; +import org.eclipse.titan.regressiontests.designer.dynamictests.ChangeTests; +import org.eclipse.titan.regressiontests.designer.statictests.StaticTests; +import org.eclipse.titan.regressiontests.designer.unittest.DesignerUnitTestSuite; +import org.eclipse.titan.regressiontests.library.WorkspaceHandlingLibrary; +import org.junit.BeforeClass; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; + +@RunWith(Suite.class) +@SuiteClasses({ + ChangeTests.class, + StaticTests.class, + DesignerUnitTestSuite.class, + CommonTestSuite.class }) +public class Designer_plugin_tests_with_OOP extends Designer_plugin_tests { + + @BeforeClass + public static void setUp() throws Exception { + Locale.setDefault(new Locale("en", "EN")); // the number format used is the English one + + /** + * The options that could be set can be found in the Designer plug-in. + * Those options which would be assigned their default value, should not be set, but left as they are initialized. + * */ + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.LICENSE_FILE_PATH, MainTestSuite.LICENSE_FILE); + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.REPORTUNSUPPORTEDCONSTRUCTS, "warning"); + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.REPORTTYPECOMPATIBILITY, "warning"); + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.REPORTNAMINGCONVENTIONPROBLEMS, "warning"); + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.REPORT_STRICT_CONSTANTS, true); + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.T3DOC_ENABLE, false); + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.DISPLAYDEBUGINFORMATION, true); + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.DEBUG_CONSOLE_LOG_TO_SYSOUT, true); + Activator.getDefault().getPreferenceStore().setValue(PreferenceConstants.ENABLEOOPEXTENSION, true); + + WorkspaceHandlingLibrary.setAutoBuilding(false); + boolean found = false; + IProject[] projects = WorkspaceHandlingLibrary.getProjectsInWorkspace(); + for (IProject project : projects) { + if (PROJECT_NAME.equals(project.getName())) { + found = true; + break; + } + } + + if (!found) { + WorkspaceHandlingLibrary.importProjectIntoWorkspace(PROJECT_NAME, URIUtil.append(MainTestSuite.getPathToWorkspace(), "Semantic_Analizer_Tests")); + } + } +} diff --git a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/Basic_tests/OOP_Syntax_tests.java b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/Basic_tests/OOP_Syntax_tests.java index d76cbd8eb718654ab6b25396fab7527fdc51e6de..18329281182a8554c6463910ee45069a26efd073 100755 --- a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/Basic_tests/OOP_Syntax_tests.java +++ b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/Basic_tests/OOP_Syntax_tests.java @@ -11,26 +11,46 @@ package org.eclipse.titan.regressiontests.designer.statictests.Basic_tests; import java.util.ArrayList; import org.eclipse.core.resources.IMarker; +import org.eclipse.titan.designer.Activator; +import org.eclipse.titan.designer.preferences.PreferenceConstants; import org.eclipse.titan.regressiontests.designer.Designer_plugin_tests; import org.eclipse.titan.regressiontests.library.MarkerToCheck; +import org.junit.BeforeClass; import org.junit.Test; public class OOP_Syntax_tests { private static final String DIR_PATH = "src/Basic_tests/"; - + private static final String OOP_POSITIVE_BASIC_SYNTAX = "/OopPositiveBasicSyntax.ttcn"; + private static final String OOP_NEGATIVE_BASIC_SYNTAX = "/OopNegativeBasicSyntax.ttcn"; + + private static boolean parseOOP; + + @BeforeClass + public static void setUp() throws Exception { + parseOOP = Activator.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.ENABLEOOPEXTENSION); + if (parseOOP) + return; + + Designer_plugin_tests.ignoreMarkersOnFile(DIR_PATH + OOP_POSITIVE_BASIC_SYNTAX); + Designer_plugin_tests.ignoreMarkersOnFile(DIR_PATH + OOP_NEGATIVE_BASIC_SYNTAX); + } + @Test public void OOPPositiveSyntax_Test() throws Exception { - checkZeroMarkersOnFile("OopPositiveBasicSyntax.ttcn"); + checkZeroMarkersOnFile(OOP_POSITIVE_BASIC_SYNTAX); } - + @Test public void OOPNegativeSyntax_Test() throws Exception { - Designer_plugin_tests.checkSyntaxMarkersOnFile(oopNegative_ttcn_initializer(), "src/Basic_tests/OopNegativeBasicSyntax.ttcn"); + if (parseOOP) + Designer_plugin_tests.checkSyntaxMarkersOnFile(oopNegative_ttcn_initializer(), DIR_PATH + OOP_NEGATIVE_BASIC_SYNTAX); + else + checkZeroMarkersOnFile(OOP_NEGATIVE_BASIC_SYNTAX); } private static void checkZeroMarkersOnFile(final String fileName) { final String filePath = DIR_PATH + fileName; - + Designer_plugin_tests.checkRealZeroSemanticMarkersOnFile(filePath); } diff --git a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/StaticTests.java b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/StaticTests.java index 6f59414f590396ef39cf9d9b440f4d8a6723855f..9c9d54bf0a346de3a245de715a0f90c9fd617d71 100644 --- a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/StaticTests.java +++ b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/StaticTests.java @@ -31,7 +31,7 @@ import org.junit.runners.Suite.SuiteClasses; }) public final class StaticTests { - private final static Logger LOGGER = Logger.getLogger(StaticTests.class.getName()); + private static final Logger LOGGER = Logger.getLogger(StaticTests.class.getName()); private StaticTests() { throw new UnsupportedOperationException(); @@ -50,7 +50,6 @@ public final class StaticTests { projectLibrary.clearMarkers(GeneralConstants.ONTHEFLY_SEMANTIC_MARKER); projectLibrary.clearMarkers(GeneralConstants.ONTHEFLY_SYNTACTIC_MARKER); } catch (CoreException e) { - // TODO Auto-generated catch block e.printStackTrace(); } LOGGER.info("Analyzing project: " + project.getName()); @@ -64,7 +63,6 @@ public final class StaticTests { LOGGER.info(Designer_plugin_tests.getSyntacticMarkers().size() + " resources have syntactic markers"); LOGGER.info(Designer_plugin_tests.getSemanticMarkers().size() + " resources have semantic markers"); } catch (Exception e) { - // TODO Auto-generated catch block e.printStackTrace(); } } diff --git a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/library/MarkerHandlingLibrary.java b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/library/MarkerHandlingLibrary.java index 24fc4dd1270bf0dfd2f8e9619ecf4dfd33085fd3..65854dcfd03617866b9a308344da49fdf7e4cdc9 100644 --- a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/library/MarkerHandlingLibrary.java +++ b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/library/MarkerHandlingLibrary.java @@ -403,10 +403,10 @@ public final class MarkerHandlingLibrary { } if (hardCheck) { - fail("The required Marker - ".concat(" (").concat(message).concat(")").concat(" - was not found at the expected location: ".concat(new Integer(lineNum).toString()))); + fail("The required Marker - ".concat(" (").concat(message).concat(")").concat(" - was not found at the expected location: ".concat(Integer.valueOf(lineNum).toString()))); } else { TITANDebugConsole.println( - "The required Marker - ".concat(" (").concat(message).concat(")").concat(" - was not found at the expected location: ".concat(new Integer(lineNum).toString()))); + "The required Marker - ".concat(" (").concat(message).concat(")").concat(" - was not found at the expected location: ".concat(Integer.valueOf(lineNum).toString()))); } }