[379358] Fixed: ParserTest fails under GMF 3.0M7
diff --git a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/AllTests.java b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/AllTests.java
index 836d292..e087325 100644
--- a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/AllTests.java
+++ b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/AllTests.java
@@ -86,8 +86,7 @@
System.err.println("Generating a target platform");
Utils.setTargetPlatform();
}
-
-
+
TestSuite suite = new TestSuite("Tests for org.eclipse.gmf, tooling side");
final SessionSetup sessionSetup = SessionSetup.newInstance();
final LinksSessionSetup sessionSetup2 = LinksSessionSetup.newInstance();
@@ -97,16 +96,15 @@
// subclassing to generate extra code
final SessionSetup setupEditHelpersTest = new EditHelpersTest.EditHelpersSessionSetup();
final SessionSetup setupBundleActivationTest = new BundleActivationTest.CustomSetup();
-
+
SessionSetup.disallowSingleTestCaseUse();
-
JavaCore.initializeAfterLoad(null);
/*
- * Temporary workaround: loading all the projects in the
- * beginning to get rid of the problems with runtime registries
- * reloading. In particular - ViewService.
+ * Temporary workaround: loading all the projects in the beginning to
+ * get rid of the problems with runtime registries reloading. In
+ * particular - ViewService.
*/
// since we force initialization, need to make sure our tests would use same initialized setup instances.
Plugin.getConfig().registerInstance(SessionSetup.class, sessionSetup);
@@ -146,10 +144,10 @@
suite.addTestSuite(TestDefaultMergeService.class);
suite.addTestSuite(PluginXMLTextMergerTest.class);
suite.addTestSuite(ManifestMergeTest.class);
- suite.addTestSuite(OrganizeImportsPostprocessorTest.class);
+ suite.addTestSuite(OrganizeImportsPostprocessorTest.class);
suite.addTestSuite(EcoreGenModelMatcherTest.class);
- suite.addTestSuite(ModelLoadHelperTest.class);
+ suite.addTestSuite(ModelLoadHelperTest.class);
suite.addTest(AllMigrationTests.suite());
suite.addTest(AllValidateTests.suite());
@@ -163,14 +161,14 @@
suite.addTestSuite(MapModeStrategyTest.class);
suite.addTestSuite(ViewmapProducersTest.class);
suite.addTestSuite(ToolDefHandocodedImplTest.class);
- suite.addTestSuite(AuditHandcodedTest.class);
- suite.addTestSuite(AuditRulesTest.class);
+ suite.addTestSuite(AuditHandcodedTest.class);
+ suite.addTestSuite(AuditRulesTest.class);
suite.addTestSuite(ElementInitializerTest.class);
suite.addTestSuite(CodegenReconcileTest.class);
// though it might be an overkill to check two setups, it should be fast and won't hurt.
suite.addTest(feed(TestAllDerivedFeatures.class, sessionSetup, "-SessionSetup"));
suite.addTest(feed(TestAllDerivedFeatures.class, sessionSetup2, "-LinksSessionSetup"));
-
+
suite.addTestSuite(DiagramNodeTest.class);
suite.addTestSuite(CompartmentPropertiesTest.class);
suite.addTestSuite(NamingStrategyTest.class);
@@ -189,19 +187,19 @@
suite.addTestSuite(LinkCreationTest.class);
suite.addTestSuite(LinkCreationConstraintsTest.class);
- suite.addTestSuite(MetricRulesTest.class);
+ suite.addTestSuite(MetricRulesTest.class);
suite.addTestSuite(GenFeatureSeqInitializerTest.class);
suite.addTestSuite(GenModelGraphAnalyzerTest.class);
suite.addTestSuite(EditHelpersTest.class);
- //suite.addTest(feed(ParsersTest.class, new ParsersSetup(false), "-direct"));
- //suite.addTest(feed(ParsersTest.class, new ParsersSetup(true), "-provider"));
+ suite.addTest(feed(ParsersTest.class, new ParsersSetup(false), "-direct"));
+ suite.addTest(feed(ParsersTest.class, new ParsersSetup(true), "-provider"));
// slowest test goes last
suite.addTestSuite(RuntimeCompilationTest.class);
-
//$JUnit-END$
suite.addTest(new CleanupTest("testCleanup") {
+
protected void performCleanup() throws Exception {
sessionSetup.cleanup();
sessionSetup2.cleanup();
@@ -211,7 +209,7 @@
setupBundleActivationTest.cleanup();
}
});
-
+
return suite;
}
@@ -231,7 +229,7 @@
c.register(GenModelTransformerSimpleTest.class, SessionSetup.class);
c.register(LabelMappingTransformTest.class, SessionSetup.class);
c.register(PaletteTransformationTest.class, SessionSetup.class);
- c.register(AuditHandcodedTest.class, SessionSetup.class);
+ c.register(AuditHandcodedTest.class, SessionSetup.class);
c.register(CodegenReconcileTest.class, SessionSetup.class);
// Default configuration, TestAllDerivedFeatures also runs for LinksSessionSetup
c.register(TestAllDerivedFeatures.class, SessionSetup.class);
diff --git a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gef/ParsersTest.java b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gef/ParsersTest.java
index 63b8236..83efec5 100644
--- a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gef/ParsersTest.java
+++ b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/gef/ParsersTest.java
@@ -525,8 +525,11 @@
final PredefinedParser printfRegexParser = GMFGenFactory.eINSTANCE.createPredefinedParser();
printfRegexParser.setViewMethod(LabelTextAccessMethod.PRINTF);
printfRegexParser.setEditMethod(LabelTextAccessMethod.REGEXP);
+
final CustomParser customParser = GMFGenFactory.eINSTANCE.createCustomParser();
customParser.setQualifiedName(diagramkin.getEditPartsPackageName() + ".MyCustomParser");
+ customParser.setGenerateBoilerplate(false); // because we will generate this class externally, see ParsersSetup#GenProjectSetup#hookExtraCodeGeneration
+
final ExternalParser externalParser = GMFGenFactory.eINSTANCE.createExternalParser();
externalParser.setHint("\"Description\""); // value of CommonParserHint.DESCIPTION constant,
// not the constant itself to manually (visually) assure (in the generated class) the hint is being used.
diff --git a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/setup/RuntimeWorkspaceSetup.java b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/setup/RuntimeWorkspaceSetup.java
index d9ce324..a73e74f 100644
--- a/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/setup/RuntimeWorkspaceSetup.java
+++ b/tests/org.eclipse.gmf.tests/src/org/eclipse/gmf/tests/setup/RuntimeWorkspaceSetup.java
@@ -29,6 +29,7 @@
import org.eclipse.core.runtime.Platform;
import org.eclipse.gmf.tests.Plugin;
import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
/**
* Running tests within PDE, we face two major problems:
@@ -79,10 +80,10 @@
List<String> l = Arrays.asList(Platform.getCommandLineArgs());
int i;
if ((i = l.indexOf("-dev")) != -1) {
- isDevBinPresent = i + 1 < l.size() && l.get(i+1).startsWith("bin");
+ isDevBinPresent = i + 1 < l.size() && l.get(i + 1).startsWith("bin");
} else {
String osgiDevProp = Plugin.getBundleContext().getProperty("osgi.dev");
- isDevBinPresent = osgiDevProp!= null && osgiDevProp.contains("bin");
+ isDevBinPresent = osgiDevProp != null && osgiDevProp.contains("bin");
}
}
@@ -145,13 +146,14 @@
/**
* at least 1.4
*/
+ @SuppressWarnings("restriction")
private static void ensureJava14() {
- if (!JavaCore.VERSION_1_4.equals(JavaCore.getOption(JavaCore.COMPILER_SOURCE))) {
+ String actual = JavaCore.getOption(JavaCore.COMPILER_SOURCE);
+ long comparableValue = CompilerOptions.versionToJdkLevel(actual);
+ if (comparableValue < CompilerOptions.versionToJdkLevel(JavaCore.VERSION_1_4)) {
@SuppressWarnings("unchecked")
- Hashtable<String,String> options = JavaCore.getOptions();
- options.put(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_4);
- options.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_4);
- options.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_4);
+ Hashtable<String, String> options = JavaCore.getOptions();
+ JavaCore.setComplianceOptions(JavaCore.VERSION_1_4, options);
JavaCore.setOptions(options);
}
}
@@ -163,7 +165,7 @@
wd.setFileStateLongevity(0);
wd.setMaxFileStates(0);
wd.setMaxFileStateSize(0);
- wd.setSnapshotInterval(60*60*1000);
+ wd.setSnapshotInterval(60 * 60 * 1000);
}
private static void switchAutobuildOff(IWorkspaceDescription wd) {