/******************************************************************************* * Copyright (c) 2012 VMWare, Inc. * 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: * VMWare, Inc. - initial API and implementation *******************************************************************************/ package org.grails.ide.eclipse.test; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; import org.grails.ide.eclipse.commands.GroovyCompilerVersionCheck; import org.grails.ide.eclipse.commands.test.DependencyFileFormatTest; import org.grails.ide.eclipse.commands.test.GrailsCommandFactoryTest; import org.grails.ide.eclipse.commands.test.GrailsCommandTest; import org.grails.ide.eclipse.commands.test.GrailsCommandUtilTest; import org.grails.ide.eclipse.commands.test.GrailsCommandWizardExpressionTest; import org.grails.ide.eclipse.commands.test.JointGrailsCommandTest; import org.grails.ide.eclipse.commands.test.LaunchSystemPropertiesTest; import org.grails.ide.eclipse.commands.test.PluginInstallerTests; import org.grails.ide.eclipse.core.GrailsCoreActivator; import org.grails.ide.eclipse.core.model.GrailsVersion; import org.grails.ide.eclipse.longrunning.test.LongRunningGrailsTest; import org.grails.ide.eclipse.longrunning.test.PrefixedOutputStreamTest; import org.grails.ide.eclipse.test.gsp.ControllerCacheTests; import org.grails.ide.eclipse.test.gsp.GSPContentAssistTests; import org.grails.ide.eclipse.test.gsp.GSPHyperlinkTests; import org.grails.ide.eclipse.test.gsp.GSPSearchTests; import org.grails.ide.eclipse.test.gsp.GSPStructuredModelCreationTests; import org.grails.ide.eclipse.test.gsp.GSPTagDocParserTests; import org.grails.ide.eclipse.test.gsp.GSPTagsTests; import org.grails.ide.eclipse.test.gsp.GSPTokenizerTest; import org.grails.ide.eclipse.test.gsp.GSPTranslationTests; import org.grails.ide.eclipse.test.gsp.GSPValidationTests; import org.grails.ide.eclipse.test.gsp.ScannerUnitTests; import org.grails.ide.eclipse.test.inferencing.BelongsToInferencingTests; import org.grails.ide.eclipse.test.inferencing.CaseInsensitiveDynamicFinderProposalsTests; import org.grails.ide.eclipse.test.inferencing.ControllerReturnTypeInferencingTests; import org.grails.ide.eclipse.test.inferencing.DSLDGrailsInferencingTests; import org.grails.ide.eclipse.test.inferencing.DynamicFinderProposalsTests; import org.grails.ide.eclipse.test.inferencing.DynamicFinderTests; import org.grails.ide.eclipse.test.inferencing.GrailsContentAssistTests; import org.grails.ide.eclipse.test.inferencing.GrailsInferencingTests; import org.grails.ide.eclipse.test.inferencing.GrailsServiceInferencingTests; import org.grails.ide.eclipse.test.inferencing.NamedQueryInferencingTests; import org.grails.ide.eclipse.test.inferencing.PluginDataTests; import org.grails.ide.eclipse.test.inferencing.PluginInferencingTests; import org.grails.ide.eclipse.test.util.GrailsTest; import org.grails.ide.eclipse.test.util.GroovySanityTest; import org.grails.ide.eclipse.test.util.ZipFileUtilTest; import org.grails.ide.eclipse.ui.test.CommandPromptProposalProviderTest; import org.grails.ide.eclipse.ui.test.GrailsConsoleLineTrackerTests; import org.grails.ide.eclipse.ui.test.StackFrameConsoleLineTrackerTests; import org.springsource.ide.eclipse.commons.tests.util.ManagedTestSuite; import org.springsource.ide.eclipse.commons.tests.util.StsTestUtil; /** * @author Andrew Eisenberg * @author Steffen Pingel * @author Christian Dupuis * @author Kris De Volder * @author Nieraj Singh * @created Dec 7, 2009 */ public class AllGrailsTests { public static class Grails35Test extends TestCase { public Grails35Test() { super(Grails35Test.class.getName()); } public void testGrailsTestsDisabledOn35AndEarlier() throws Exception { System.out.println("Grails tests are not run on Eclipse 3.5 or earlier"); } } public static Test suite(boolean heartbeat) { GrailsTest.mavenOffline(); if (!StsTestUtil.ECLIPSE_3_6_OR_LATER) { return new TestSuite(Grails35Test.class); } GrailsCoreActivator.testMode(StsTestUtil.isOnBuildSite()); GroovyCompilerVersionCheck.testMode(); // Disable modal dialog TestSuite suite = new ManagedTestSuite(AllGrailsTests.class.getName()); suite.addTestSuite(GroovySanityTest.class); if (GroovySanityTest.isSane()) { suite.addTestSuite(GroovyCompilerVersionCheckTest.class); suite.addTestSuite(GrailsRunAsTestAppTests.class); suite.addTestSuite(ControllerCacheTests.class); suite.addTestSuite(DefaultGrailsInstallTests.class); suite.addTestSuite(StackFrameConsoleLineTrackerTests.class); suite.addTestSuite(GrailsConsoleLineTrackerTests.class); suite.addTestSuite(GrailsVersionTest.class); suite.addTestSuite(DependencyFileFormatTest.class); suite.addTestSuite(DynamicFinderTests.class); suite.addTestSuite(GrailsCommandHistoryTest.class); if (!heartbeat) { //Disable in HB for now suite.addTestSuite(GrailsCommandUtilTest.class); } suite.addTestSuite(JointGrailsCommandTest.class); JointGrailsCommandTest.heartbeat = heartbeat; suite.addTestSuite(GSPTokenizerTest.class); suite.addTestSuite(GSPTranslationTests.class); suite.addTestSuite(PrefixedOutputStreamTest.class); suite.addTestSuite(ScannerUnitTests.class); if (StsTestUtil.ECLIPSE_3_6_OR_LATER) { if (!heartbeat) { //Disable for now in HB build suite.addTest(PluginInferencingTests.suite()); } } // Extra tests if (!heartbeat) { if (GrailsVersion.MOST_RECENT.compareTo(GrailsVersion.V_2_0_0)>=0) { suite.addTestSuite(Grails20JUnitIntegrationTests.class); suite.addTest(DSLDGrailsInferencingTests.suite()); } suite.addTestSuite(ZipFileUtilTest.class); suite.addTestSuite(GrailsCoreTests.class); suite.addTestSuite(UrlMappingTests.class); // this if statement is unnecessary now that Grails tests are not run on // 3.5 or earlier. Consider removing. if (StsTestUtil.ECLIPSE_3_6_OR_LATER) { suite.addTestSuite(GrailsProjectVersionFixerTest.class); suite.addTest(GrailsInferencingTests.suite()); suite.addTest(BelongsToInferencingTests.suite()); suite.addTest(ControllerReturnTypeInferencingTests.suite()); suite.addTest(GrailsServiceInferencingTests.suite()); // suite.addTest(AllGroovyDebugTests.suite()); suite.addTestSuite(GrailsContentAssistTests.class); } suite.addTestSuite(DynamicFinderProposalsTests.class); suite.addTestSuite(CaseInsensitiveDynamicFinderProposalsTests.class); suite.addTestSuite(GSPStructuredModelCreationTests.class); suite.addTestSuite(GSPTagsTests.class); suite.addTestSuite(GSPSearchTests.class); suite.addTestSuite(GSPTagDocParserTests.class); suite.addTestSuite(GSPContentAssistTests.class); suite.addTestSuite(PluginDataTests.class); suite.addTestSuite(GSPValidationTests.class); suite.addTestSuite(GrailsCommandFactoryTest.class); suite.addTestSuite(LaunchSystemPropertiesTest.class); if (GrailsVersion.MOST_RECENT.compareTo(GrailsVersion.V_2_2_)>=0) { suite.addTestSuite(LongRunningGrailsTest.class); } else { //LongRunningGrailsTest already includes these tests so don't run it if we running LongRunningGrailsTest suite.addTestSuite(GrailsCommandTest.class); } suite.addTestSuite(GrailsCommandWizardExpressionTest.class); if (GrailsVersion.MOST_RECENT.compareTo(GrailsVersion.V_2_3_)<0) { //These tests don't work after Grails 2.3 becuase install plugin command no longer supported // in grails. suite.addTestSuite(PluginInstallerTests.class); // Next test disabled: see https://issuetracker.springsource.com/browse/STS-3266 // suite.addTestSuite(ExtraPluginInstallerTests.class); } suite.addTest(AllGrailsRefactoringTests.suite()); suite.addTestSuite(GrailsSourceCodeTest.class); suite.addTestSuite(GSPHyperlinkTests.class); suite.addTestSuite(NamedQueryInferencingTests.class); suite.addTestSuite(GrailsImportWizardCoreTests.class); suite.addTestSuite(CommandPromptProposalProviderTest.class); } } suite.addTestSuite(ThreadLeakTest.class); suite.addTestSuite(HeapDumpTest.class); return suite; } public static Test suite() { return suite(false); } }