More fixes for preparing files
diff --git a/plugins/org.eclipse.epsilon.common/src/org/eclipse/epsilon/common/util/FileUtil.java b/plugins/org.eclipse.epsilon.common/src/org/eclipse/epsilon/common/util/FileUtil.java
index 20ce455..f663fe9 100644
--- a/plugins/org.eclipse.epsilon.common/src/org/eclipse/epsilon/common/util/FileUtil.java
+++ b/plugins/org.eclipse.epsilon.common/src/org/eclipse/epsilon/common/util/FileUtil.java
@@ -33,6 +33,7 @@
import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.InvalidPathException;
+import java.nio.file.NoSuchFileException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.FileAttribute;
@@ -384,9 +385,9 @@
// Name might be a path, get the file name, remove it
if (name.contains("/")) {
dirStructure = Paths.get(tmpdir.toString(), name.substring(0, name.lastIndexOf("/")), "/");
+ logger.debug("Craeting dir structure {} for nested file", dirStructure);
dirStructure.toFile().mkdirs();
name = name.substring(name.lastIndexOf("/") + 1);
- logger.debug("inputStreamToFile {}", name);
}
String[] parts = name.split("\\.");
@@ -409,22 +410,20 @@
int read = 0;
byte[] bytes = new byte[1024];
- logger.debug("{} bytes available", inputStream.available());
while ((read = inputStream.read(bytes)) != -1) {
- logger.debug("{} bytes read from input", read);
outputStream.write(bytes, 0, read);
}
logger.debug("Copying data into temp file Done!");
-// Runtime.getRuntime().addShutdownHook(new Thread() {
-// @Override
-// public void run() {
-// try {
-// Files.delete(tempFile);
-// } catch (IOException e) {
-// e.printStackTrace();
-// }
-// }
-// });
+ Runtime.getRuntime().addShutdownHook(new Thread() {
+ @Override
+ public void run() {
+ try {
+ Files.delete(tempFile);
+ } catch (IOException e) {
+ logger.debug("Unable to delete file {}", tempFile.getFileName());
+ }
+ }
+ });
file = tempFile.toFile();
} catch (IOException e) {
diff --git a/tests/org.eclipse.epsilon.commons.test/.classpath b/tests/org.eclipse.epsilon.commons.test/.classpath
index 22f3064..4f83b23 100644
--- a/tests/org.eclipse.epsilon.commons.test/.classpath
+++ b/tests/org.eclipse.epsilon.commons.test/.classpath
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/tests/org.eclipse.epsilon.egl.engine.test.acceptance/src/org/eclipse/epsilon/egl/test/acceptance/engine/Engine.java b/tests/org.eclipse.epsilon.egl.engine.test.acceptance/src/org/eclipse/epsilon/egl/test/acceptance/engine/Engine.java
index d632870..ac68889 100644
--- a/tests/org.eclipse.epsilon.egl.engine.test.acceptance/src/org/eclipse/epsilon/egl/test/acceptance/engine/Engine.java
+++ b/tests/org.eclipse.epsilon.egl.engine.test.acceptance/src/org/eclipse/epsilon/egl/test/acceptance/engine/Engine.java
@@ -89,6 +89,7 @@
@Test (expected=EglRuntimeException.class)
public void testParseInvalid() throws Exception {
+ // FIXME why expect EglRuntimeException when the actual file does not exist?
AcceptanceTestUtil.run(invalidPath);
}
}
diff --git a/tests/org.eclipse.epsilon.egx.engine.test.acceptance/src/org/eclipse/epsilon/egx/engine/test/acceptance/EgxAcceptanceTestUtil.java b/tests/org.eclipse.epsilon.egx.engine.test.acceptance/src/org/eclipse/epsilon/egx/engine/test/acceptance/EgxAcceptanceTestUtil.java
index 768627e..7b9ee25 100644
--- a/tests/org.eclipse.epsilon.egx.engine.test.acceptance/src/org/eclipse/epsilon/egx/engine/test/acceptance/EgxAcceptanceTestUtil.java
+++ b/tests/org.eclipse.epsilon.egx.engine.test.acceptance/src/org/eclipse/epsilon/egx/engine/test/acceptance/EgxAcceptanceTestUtil.java
@@ -26,7 +26,7 @@
private EgxAcceptanceTestUtil() {}
public static final String
- testsBase = getTestBaseDir(EgxAcceptanceTestSuite.class),
+ testsBase = "", // getTestBaseDir(EgxAcceptanceTestSuite.class),
thriftBase = testsBase+"thrift/",
thriftMetamodel = "thrift.ecore",
thriftModels[] = {/*"ThriftTest.xmi", "SimpleService.xmi",*/ "fb303.xmi"},
diff --git a/tests/org.eclipse.epsilon.egx.engine.test.acceptance/src/org/eclipse/epsilon/egx/engine/test/acceptance/rules/Rule.java b/tests/org.eclipse.epsilon.egx.engine.test.acceptance/src/org/eclipse/epsilon/egx/engine/test/acceptance/rules/Rule.java
index b8a0664..6d41382 100644
--- a/tests/org.eclipse.epsilon.egx.engine.test.acceptance/src/org/eclipse/epsilon/egx/engine/test/acceptance/rules/Rule.java
+++ b/tests/org.eclipse.epsilon.egx.engine.test.acceptance/src/org/eclipse/epsilon/egx/engine/test/acceptance/rules/Rule.java
@@ -11,6 +11,8 @@
import static org.junit.Assert.assertEquals;
import org.eclipse.epsilon.egx.engine.test.acceptance.util.EgxAcceptanceTest;
+import org.eclipse.epsilon.hutn.test.models.Families;
+import org.eclipse.epsilon.hutn.test.models.util.FileUtil;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -30,6 +32,8 @@
@BeforeClass
public static void setup() throws Exception {
+ // FIXME These assumes the metamodel is registered?
+ FileUtil.getFile("Families.ecore", Families.class);
runEgx(egx, model, template("hello.egl", "Hello [%=p.name%]"));
}
diff --git a/tests/org.eclipse.epsilon.eml.engine.test.acceptance/src/org/eclipse/epsilon/eml/engine/test/acceptance/trees/TestXmlTreeMerging.java b/tests/org.eclipse.epsilon.eml.engine.test.acceptance/src/org/eclipse/epsilon/eml/engine/test/acceptance/trees/TestXmlTreeMerging.java
index 441d137..ba81b09 100644
--- a/tests/org.eclipse.epsilon.eml.engine.test.acceptance/src/org/eclipse/epsilon/eml/engine/test/acceptance/trees/TestXmlTreeMerging.java
+++ b/tests/org.eclipse.epsilon.eml.engine.test.acceptance/src/org/eclipse/epsilon/eml/engine/test/acceptance/trees/TestXmlTreeMerging.java
@@ -12,6 +12,7 @@
import java.io.File;
import java.util.HashMap;
+import org.eclipse.epsilon.common.util.FileUtil;
import org.eclipse.epsilon.ecl.EclModule;
import org.eclipse.epsilon.emc.plainxml.PlainXmlModel;
import org.eclipse.epsilon.eml.EmlModule;
@@ -31,6 +32,8 @@
@Before
public void setup() throws Exception {
+ // Load imported file
+ FileUtil.getFile("imported.eml", TestXmlTreeMerging.class);
PlainXmlModel leftModel = loadXmlModel("Left", "left.xml");
PlainXmlModel rightModel = loadXmlModel("Right", "right.xml");
@@ -79,7 +82,8 @@
protected PlainXmlModel loadXmlModel(String name, String fileName, boolean readOnLoad) throws Exception {
PlainXmlModel model = new PlainXmlModel();
model.setName(name);
- model.setFile(new File(getClass().getResource(fileName).toURI()));
+ // model.setFile(new File(getClass().getResource(fileName).toURI()));
+ model.setFile(FileUtil.getFile(fileName, TestXmlTreeMerging.class));
model.setReadOnLoad(readOnLoad);
model.load();
return model;
diff --git a/tests/org.eclipse.epsilon.evl.engine.test.acceptance/src/org/eclipse/epsilon/evl/engine/test/acceptance/EvlAcceptanceTestUtil.java b/tests/org.eclipse.epsilon.evl.engine.test.acceptance/src/org/eclipse/epsilon/evl/engine/test/acceptance/EvlAcceptanceTestUtil.java
index 8a92b52..d8b4efa 100644
--- a/tests/org.eclipse.epsilon.evl.engine.test.acceptance/src/org/eclipse/epsilon/evl/engine/test/acceptance/EvlAcceptanceTestUtil.java
+++ b/tests/org.eclipse.epsilon.evl.engine.test.acceptance/src/org/eclipse/epsilon/evl/engine/test/acceptance/EvlAcceptanceTestUtil.java
@@ -151,7 +151,7 @@
return getScenarios(null, true, Arrays.asList(moduleGetters), null);
}
public static Collection<EvlRunConfiguration> getScenarios(List<String[]> testInputs, boolean includeTest, Collection<Supplier<? extends IEvlModule>> moduleGetters) {
- FileUtil.getFile("thrift-helper-functions.eol", EvlAcceptanceTestUtil.class);
+ // FileUtil.getFile("thrift-helper-functions.eol", EvlAcceptanceTestUtil.class);
return getScenarios(testInputs, includeTest, moduleGetters, null);
}
public static Collection<Supplier<? extends IEvlModule>> modules() {
diff --git a/tests/org.eclipse.epsilon.evl.engine.test.acceptance/src/org/eclipse/epsilon/evl/engine/test/acceptance/EvlTests.java b/tests/org.eclipse.epsilon.evl.engine.test.acceptance/src/org/eclipse/epsilon/evl/engine/test/acceptance/EvlTests.java
index ba0dd5e..8ab2f7d 100644
--- a/tests/org.eclipse.epsilon.evl.engine.test.acceptance/src/org/eclipse/epsilon/evl/engine/test/acceptance/EvlTests.java
+++ b/tests/org.eclipse.epsilon.evl.engine.test.acceptance/src/org/eclipse/epsilon/evl/engine/test/acceptance/EvlTests.java
@@ -35,6 +35,8 @@
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
*
@@ -42,6 +44,8 @@
*/
@RunWith(Parameterized.class)
public class EvlTests {
+
+ private static Logger logger = LoggerFactory.getLogger(EvlTests.class);
// private static final IModel
// TEST_MODEL = setUpModel("test.xml"),
@@ -49,6 +53,9 @@
@BeforeClass
public static void setUpBeforeClass() throws Exception {
+ // Load imported modules
+ FileUtil.getFile("scripts/thrift-helper-functions.eol", EvlTests.class);
+ FileUtil.getFile("scripts/utils.eol", EvlTests.class);
// TEST_MODEL.load();
// OPTIMISED_MODEL.load();
}
@@ -68,6 +75,7 @@
PlainXmlModel model = new PlainXmlModel();
try {
File modelFile = FileUtil.getFile(EvlAcceptanceTestUtil.modelsRoot+modelName, EvlAcceptanceTestUtil.class);
+ logger.debug("setUpModel: {} ({})", modelFile.getPath(), modelFile.length());
model.setFile(modelFile);
}
catch (FileSystemNotFoundException ex) {
@@ -81,7 +89,7 @@
public static IModel getTestModel(boolean optimised) {
String modelName = optimised ? "optimised.xml" : "test.xml";
-
+ logger.debug("getTestModel: {}", modelName);
return setUpModel(modelName);
}
diff --git a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/CompsTests.java b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/CompsTests.java
index 73b97f7..3899166 100644
--- a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/CompsTests.java
+++ b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/CompsTests.java
@@ -43,6 +43,7 @@
@Before
public void setup() throws Exception {
+ super.setup();
comps = EmfUtil.register(URI.createURI(
FlexmiTestSuite.class.getResource("models/comps/comps.ecore").toURI().toString()),
EPackage.Registry.INSTANCE).get(0);
diff --git a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/FlexmiTests.java b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/FlexmiTests.java
index 1a78864..5f7d5d9 100644
--- a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/FlexmiTests.java
+++ b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/FlexmiTests.java
@@ -22,14 +22,32 @@
import org.eclipse.epsilon.eol.EolEvaluator;
import org.eclipse.epsilon.flexmi.FlexmiResource;
import org.eclipse.epsilon.flexmi.FlexmiResourceFactory;
+import org.junit.Before;
public abstract class FlexmiTests {
+ @Before
+ public void setup() throws Exception {
+ // Load imported files
+ FileUtil.getFile("models/templates/subdir/template-importing-eol.flexmi", FlexmiTests.class);
+ FileUtil.getFile("models/templates/imported-template.flexmi", FlexmiTests.class);
+ FileUtil.getFile("models/templates/imported-templates.flexmi", FlexmiTests.class);
+ FileUtil.getFile("models/templates/library.eol", FlexmiTests.class);
+
+ }
+
protected FlexmiResource loadResource(String filename) throws Exception {
ResourceSet resourceSet = new ResourceSetImpl();
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("flexmi", new FlexmiResourceFactory());
resourceSet.getPackageRegistry().put(EcorePackage.eINSTANCE.getNsURI(), EcorePackage.eINSTANCE);
- File resourceFile = FileUtil.getFile("models/" + filename, FlexmiTestSuite.class);
+ File resourceFile;
+ try {
+ resourceFile = FileUtil.getFile("models/" + filename, FlexmiTestSuite.class);
+ }
+ catch (NullPointerException ex) {
+ // Let tests for invalid paths have their joy
+ resourceFile = new File("models/" + filename);
+ }
FlexmiResource resource = (FlexmiResource) resourceSet.createResource(URI.createURI(resourceFile.toURI().toString()));
resource.load(null);
return resource;
diff --git a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/ImportTests.java b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/ImportTests.java
index 64447d7..74c2b44 100644
--- a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/ImportTests.java
+++ b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/ImportTests.java
@@ -11,23 +11,32 @@
import static org.junit.Assert.*;
+import org.eclipse.epsilon.common.util.FileUtil;
+import org.junit.Before;
import org.junit.Test;
public class ImportTests extends FlexmiTests {
+ @Before
+ public void setup() throws Exception {
+ super.setup();
+ FileUtil.getFile("models/include/valid-included.flexmi", FlexmiTests.class);
+ }
+
@Test
public void testNoWarnings() throws Exception {
- assertEquals(loadResource("import/valid-main.flexmi").getWarnings().size(), 0);
+ assertEquals(loadResource("include/valid-main.flexmi").getWarnings().size(), 0);
}
@Test
public void testESuperType() throws Exception {
- assertEval("EClass.all.first().eSuperTypes.first().name", "c2", "import/valid-main.flexmi");
+ assertEval("EClass.all.first().eSuperTypes.first().name", "c2", "include/valid-main.flexmi");
}
@Test
public void testUnresolvedReferenceWarning() throws Exception {
- assertEquals(loadResource("import/invalid-main.flexmi").getWarnings().size(), 1);
+ // FIXME What do we really want for an invalid file? non-existent or corrupted?
+ assertEquals(loadResource("include/invalid-main.flexmi").getWarnings().size(), 1);
}
}
diff --git a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/IncludeImportTests.java b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/IncludeImportTests.java
index 6c1bd5e..2f3b4fd 100644
--- a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/IncludeImportTests.java
+++ b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/IncludeImportTests.java
@@ -9,14 +9,23 @@
**********************************************************************/
package org.eclipse.epsilon.flexmi.test;
+import org.eclipse.epsilon.common.util.FileUtil;
+import org.junit.Before;
import org.junit.Test;
public class IncludeImportTests extends FlexmiTests {
+ @Before
+ public void setup() throws Exception {
+ super.setup();
+ FileUtil.getFile("models/include/valid-included.flexmi", FlexmiTests.class);
+ }
+
@Test
public void testUniqueC1() throws Exception {
+ // FIXME There is no 'C3' element that has C1 as supertpye!!
assertEval("EClass.all.selectOne(c|c.name='C3').eSuperTypes.first() == EClass.all.selectOne(c|c.name='C1')",
- true, "include-import/valid-main.flexmi");
+ true, "include/valid-main.flexmi");
}
}
diff --git a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/IncludeTests.java b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/IncludeTests.java
index 76fbe2b..6de80a7 100644
--- a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/IncludeTests.java
+++ b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/IncludeTests.java
@@ -11,10 +11,19 @@
import static org.junit.Assert.assertEquals;
+import org.eclipse.epsilon.common.util.FileUtil;
+import org.junit.Before;
import org.junit.Test;
public class IncludeTests extends FlexmiTests {
+ @Before
+ public void setup() throws Exception {
+ super.setup();
+ FileUtil.getFile("models/include/valid-included.flexmi", FlexmiTests.class);
+ FileUtil.getFile("models/include/datatypes.flexmi", FlexmiTests.class);
+ }
+
@Test
public void testNoWarnings() throws Exception {
assertEquals(loadResource("include/valid-main.flexmi").getWarnings().size(), 0);
diff --git a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/PropogenTests.java b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/PropogenTests.java
index fb5ba51..2778f0b 100644
--- a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/PropogenTests.java
+++ b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/PropogenTests.java
@@ -17,6 +17,7 @@
@Before
public void setup() throws Exception {
+ super.setup();
ePackage = EmfUtil.register(URI.createURI(
FlexmiTestSuite.class.getResource("models/propogen/propogen.ecore").toURI().toString()),
EPackage.Registry.INSTANCE).get(0);
diff --git a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/TemplateTests.java b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/TemplateTests.java
index 5dd07da..3a042ab 100644
--- a/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/TemplateTests.java
+++ b/tests/org.eclipse.epsilon.flexmi.test/src/org/eclipse/epsilon/flexmi/test/TemplateTests.java
@@ -9,12 +9,11 @@
**********************************************************************/
package org.eclipse.epsilon.flexmi.test;
-import org.eclipse.epsilon.common.util.FileUtil;
-import org.eclipse.epsilon.flexmi.FlexmiResource;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
import java.util.Arrays;
+import org.eclipse.epsilon.flexmi.FlexmiResource;
import org.junit.Test;
public class TemplateTests extends FlexmiTests {
@@ -22,7 +21,6 @@
@Test
public void testModelWithTemplate() throws Exception {
FlexmiResource resource = loadResource("templates/model-with-template.flexmi");
- FileUtil.getFile("/models/templates/subdir/template-importing-eol.flexmi", TemplateTests.class);
assertEquals(0, resource.getWarnings().size());
assertEquals(3, resource.getTemplates().size());
assertEquals("t1", resource.getTemplates().get(0).getName());
diff --git a/tests/org.eclipse.epsilon.hutn.test.acceptance/src/org/eclipse/epsilon/hutn/test/acceptance/valid/ExternalObjectReferenceRelative.java b/tests/org.eclipse.epsilon.hutn.test.acceptance/src/org/eclipse/epsilon/hutn/test/acceptance/valid/ExternalObjectReferenceRelative.java
index 8aabaab..0ddcb8b 100644
--- a/tests/org.eclipse.epsilon.hutn.test.acceptance/src/org/eclipse/epsilon/hutn/test/acceptance/valid/ExternalObjectReferenceRelative.java
+++ b/tests/org.eclipse.epsilon.hutn.test.acceptance/src/org/eclipse/epsilon/hutn/test/acceptance/valid/ExternalObjectReferenceRelative.java
@@ -41,7 +41,8 @@
"}";
FileUtil.setFileContents(hutn, hutnSource);
-
+ // Load nearby model
+ FileUtil.getFile("Nearby.model", ExternalObjectReferenceRelative.class);
model = generateModel(hutnSource);
model.setVariable("john", "Person.all().first()");
diff --git a/tests/org.eclipse.epsilon.test.unit/EpsilonTestSuite.launch b/tests/org.eclipse.epsilon.test.unit/EpsilonTestSuite.launch
new file mode 100644
index 0000000..05b8448
--- /dev/null
+++ b/tests/org.eclipse.epsilon.test.unit/EpsilonTestSuite.launch
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+
+ <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+ <listEntry value="/org.eclipse.epsilon.test/src/org/eclipse/epsilon/test/EpsilonTestSuite.java"/>
+ </listAttribute>
+ <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+ <listEntry value="1"/>
+ </listAttribute>
+ <stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+ <booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+ <stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+ <stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+ <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+ <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.epsilon.test.EpsilonTestSuite"/>
+ <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.epsilon.test"/>
+ <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx4g"/>
+
+</launchConfiguration>
diff --git a/tests/org.eclipse.epsilon.test.unit/pom.xml b/tests/org.eclipse.epsilon.test.unit/pom.xml
index e679881..6d5f514 100644
--- a/tests/org.eclipse.epsilon.test.unit/pom.xml
+++ b/tests/org.eclipse.epsilon.test.unit/pom.xml
@@ -55,7 +55,7 @@
<includes>
<include>EpsilonTestSuite.java</include>
</includes>
- <!-->argLine>-Xmx4096m</argLine -->
+ <argLine>-Xmx6144m</argLine>
</configuration>
</plugin>