/******************************************************************************* * Copyright (c) 2000, 2009 IBM Corporation 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.jdt.core.tests.compiler.parser; import java.util.ArrayList; import java.util.List; import org.eclipse.jdt.core.tests.junit.extension.TestCase; import org.eclipse.jdt.core.tests.util.AbstractCompilerTest; import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants; import junit.framework.Test; import junit.framework.TestSuite; /** * Run all parser regression tests */ public class TestAll extends junit.framework.TestCase { public final static List<Class<? extends Test>> TEST_CLASSES_1_5 = new ArrayList<Class<? extends Test>>(); static { /* completion tests */ TEST_CLASSES_1_5.addAll(RunCompletionParserTests.TEST_CLASSES_1_5); /* selection tests */ TEST_CLASSES_1_5.add(GenericsSelectionTest.class); TEST_CLASSES_1_5.add(AnnotationSelectionTest.class); TEST_CLASSES_1_5.add(EnumSelectionTest.class); /* recovery tests */ TEST_CLASSES_1_5.add(GenericDietRecoveryTest.class); TEST_CLASSES_1_5.add(EnumDietRecoveryTest.class); TEST_CLASSES_1_5.add(AnnotationDietRecoveryTest.class); TEST_CLASSES_1_5.add(StatementRecoveryTest_1_5.class); } public TestAll(String testName) { super(testName); } public static Test suite() { List<Class<? extends Test>> testClasses = new ArrayList<Class<? extends Test>>(); /* completion tests */ testClasses.addAll(RunCompletionParserTests.TEST_CLASSES); /* selection tests */ testClasses.add(ExplicitConstructorInvocationSelectionTest.class); testClasses.add(SelectionTest.class); testClasses.add(SelectionTest2.class); testClasses.add(SelectionJavadocTest.class); /* recovery tests */ testClasses.add(DietRecoveryTest.class); testClasses.add(StatementRecoveryTest.class); /* source element parser tests */ testClasses.add(SourceElementParserTest.class); /* document element parser tests */ testClasses.add(DocumentElementParserTest.class); /* syntax error diagnosis tests */ testClasses.add(SyntaxErrorTest.class); testClasses.add(DualParseSyntaxErrorTest.class); testClasses.add(ParserTest.class); testClasses.add(ComplianceDiagnoseTest.class); TestSuite all = new TestSuite(TestAll.class.getName()); int possibleComplianceLevels = AbstractCompilerTest.getPossibleComplianceLevels(); if ((possibleComplianceLevels & AbstractCompilerTest.F_1_3) != 0) { List<Class<? extends Test>> tests_1_3 = new ArrayList<Class<? extends Test>>(testClasses); // Reset forgotten subsets tests TestCase.TESTS_PREFIX = null; TestCase.TESTS_NAMES = null; TestCase.TESTS_NUMBERS= null; TestCase.TESTS_RANGE = null; TestCase.RUN_ONLY_ID = null; all.addTest(AbstractCompilerTest.buildComplianceTestSuite(ClassFileConstants.JDK1_3, tests_1_3)); } if ((possibleComplianceLevels & AbstractCompilerTest.F_1_4) != 0) { List<Class<? extends Test>> tests_1_4 = new ArrayList<Class<? extends Test>>(testClasses); // Reset forgotten subsets tests TestCase.TESTS_PREFIX = null; TestCase.TESTS_NAMES = null; TestCase.TESTS_NUMBERS= null; TestCase.TESTS_RANGE = null; TestCase.RUN_ONLY_ID = null; all.addTest(AbstractCompilerTest.buildComplianceTestSuite(ClassFileConstants.JDK1_4, tests_1_4)); } if ((possibleComplianceLevels & AbstractCompilerTest.F_1_5) != 0) { List<Class<? extends Test>> tests_1_5 = new ArrayList<Class<? extends Test>>(testClasses); tests_1_5.addAll(TEST_CLASSES_1_5); // Reset forgotten subsets tests TestCase.TESTS_PREFIX = null; TestCase.TESTS_NAMES = null; TestCase.TESTS_NUMBERS= null; TestCase.TESTS_RANGE = null; TestCase.RUN_ONLY_ID = null; all.addTest(AbstractCompilerTest.buildComplianceTestSuite(ClassFileConstants.JDK1_5, tests_1_5)); } if ((possibleComplianceLevels & AbstractCompilerTest.F_1_6) != 0) { List<Class<? extends Test>> tests_1_6 = new ArrayList<Class<? extends Test>>(testClasses); tests_1_6.addAll(TEST_CLASSES_1_5); // Reset forgotten subsets tests TestCase.TESTS_PREFIX = null; TestCase.TESTS_NAMES = null; TestCase.TESTS_NUMBERS= null; TestCase.TESTS_RANGE = null; TestCase.RUN_ONLY_ID = null; all.addTest(AbstractCompilerTest.buildComplianceTestSuite(ClassFileConstants.JDK1_6, tests_1_6)); } if ((possibleComplianceLevels & AbstractCompilerTest.F_1_7) != 0) { List<Class<? extends Test>> tests_1_7 = new ArrayList<Class<? extends Test>>(testClasses); tests_1_7.addAll(TEST_CLASSES_1_5); // Reset forgotten subsets tests TestCase.TESTS_PREFIX = null; TestCase.TESTS_NAMES = null; TestCase.TESTS_NUMBERS= null; TestCase.TESTS_RANGE = null; TestCase.RUN_ONLY_ID = null; all.addTest(AbstractCompilerTest.buildComplianceTestSuite(ClassFileConstants.JDK1_7, tests_1_7)); } return all; } }