blob: 4a03c1b00b2e6365306fd87529e58f7380861f9b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010, 2016 Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* E.D.Willink - Initial API and implementation
*******************************************************************************/
package org.eclipse.ocl.examples.test.xtext;
import java.io.File;
import java.util.Arrays;
import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.ocl.examples.pivot.tests.DelegatesTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateBooleanOperationsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateClassifierOperationsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateCollectionOperationsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateConstructsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateMapOperationsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateModelOperationsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateNameVisibilityTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateNumericOperationsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateOclAnyOperationsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateStringOperationsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateTupleOperationsTest;
import org.eclipse.ocl.examples.pivot.tests.EvaluateUMLTest;
import org.eclipse.ocl.examples.pivot.tests.InheritanceTests;
import org.eclipse.ocl.examples.pivot.tests.IteratorsTest;
import org.eclipse.ocl.examples.pivot.tests.LeakTests;
import org.eclipse.ocl.examples.pivot.tests.PivotTestCase;
import org.eclipse.ocl.examples.pivot.tests.PrettyPrinterTest;
import org.eclipse.ocl.examples.pivot.tests.StereotypesTest;
import org.eclipse.ocl.examples.pivot.tests.UMLValidateTest;
import org.eclipse.ocl.examples.pivot.tests.ValidateTests;
import org.eclipse.ocl.examples.test.ecore.ProjectMapTest;
import org.eclipse.ocl.examples.test.label.PluginLabelTests;
import org.eclipse.ocl.examples.test.label.StandaloneLabelTests;
import org.eclipse.ocl.examples.test.standalone.StandaloneExecutionTests;
import org.eclipse.ocl.examples.test.standalone.StandaloneParserTests;
import org.eclipse.uml2.uml.resources.util.UMLResourcesUtil;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
/**
* Tests for the Xtext editor support.
*/
@SuppressWarnings("nls")
public class AllXtextTests
extends TestCase {
public AllXtextTests() {
super("");
}
public static Test suite() {
// if (System.getProperty("standalone") != null) {
// running tests stand-alone: must set up the environment registry
// Environment.Registry.INSTANCE.registerEnvironment(
// EcoreEnvironmentFactory.INSTANCE.createEnvironment());
// }
String testSuiteName = System.getProperty("testSuiteName", "Xtext Editor Support");
String testLogFile = System.getProperty("testLogFile", null);
if (testLogFile != null) {
PivotTestCase.createTestLog(new File(testLogFile));
}
TestSuite result = new TestSuite(testSuiteName);
result.addTestSuite(MonikerTests.class);
result.addTestSuite(PivotTests.class);
result.addTestSuite(OCLstdlibTests.class);
result.addTestSuite(PrecedenceTests.class);
result.addTestSuite(EvaluateBooleanOperationsTest.class);
result.addTestSuite(EvaluateClassifierOperationsTest.class);
result.addTestSuite(EvaluateCollectionOperationsTest.class);
result.addTestSuite(EvaluateConstructsTest.class);
result.addTestSuite(EvaluateMapOperationsTest.class);
result.addTestSuite(EvaluateModelOperationsTest.class);
result.addTestSuite(EvaluateNameVisibilityTest.class);
result.addTestSuite(EvaluateNumericOperationsTest.class);
result.addTestSuite(EvaluateOclAnyOperationsTest.class);
result.addTestSuite(EvaluateStringOperationsTest.class);
result.addTestSuite(EvaluateTupleOperationsTest.class);
result.addTestSuite(EvaluateUMLTest.class);
result.addTestSuite(IteratorsTest.class);
result.addTestSuite(FlowAnalysisTests.class);
result.addTestSuite(DelegatesTest.class);
result.addTestSuite(ErrorTests.class);
result.addTestSuite(ImportTests.class);
result.addTestSuite(LeakTests.class);
result.addTestSuite(UMLValidateTest.class);
ResourceSet resourceSet = new ResourceSetImpl();
UMLResourcesUtil.init(resourceSet);
LoadTests.getProjectMap().initializeResourceSet(resourceSet);
if (resourceSet.getURIConverter().exists(URI.createPlatformResourceURI("/org.eclipse.ocl.examples.uml25/", true), null)) {
result.addTestSuite(UML25LoadTests.class);
}
else {
result.addTestSuite(LoadTests.class);
}
result.addTestSuite(PrettyPrinterTest.class);
result.addTestSuite(ProjectMapTest.class);
result.addTestSuite(RegistryTests.class);
result.addTestSuite(SerializeTests.class);
result.addTestSuite(RoundTripTests.class);
result.addTestSuite(StereotypesTest.class);
result.addTestSuite(EditTests.class);
result.addTestSuite(InheritanceTests.class);
result.addTestSuite(MarkupTests.class);
result.addTestSuite(ValidateTests.class);
result.addTestSuite(PivotDocumentationExamples.class);
result.addTestSuite(OCLinEcoreTutorialExamples.class);
result.addTestSuite(UsageTests.class);
result.addTestSuite(StandaloneExecutionTests.class);
result.addTestSuite(StandaloneParserTests.class);
if (EMFPlugin.IS_ECLIPSE_RUNNING) {
result.addTestSuite(CompletionProposalTests.class);
result.addTestSuite(ConsoleTests.class);
result.addTestSuite(EcoreConsoleTests.class);
result.addTestSuite(UMLConsoleTests.class);
result.addTestSuite(EditorTests.class);
result.addTestSuite(FileNewWizardTest.class);
result.addTestSuite(PluginLabelTests.class);
// result.addTestSuite(DebuggerTests.class);
}
else {
result.addTestSuite(StandaloneLabelTests.class);
result.addTestSuite(GrammarTests.class); // *.xtextbin fail to load in EClipse, but we don't need to test twice anyway.
}
return result;
}
public Object run(Object args)
throws Exception {
TestRunner.run(suite());
PivotTestCase.closeTestLog();
return Arrays
.asList(new String[] {"Please see raw test suite output for details."});
}
}