diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/UnitTests.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/UnitTests.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/UnitTests.java b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/UnitTests.java new file mode 100644 index 000000000..15d38715c --- /dev/null +++ b/eclipse/plugins/com.android.ide.eclipse.tests/src/com/android/ide/eclipse/tests/UnitTests.java @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Eclipse Public License, Version 1.0 (the "License"); you + * may not use this file except in compliance with the License. You may obtain a + * copy of the License at + * + * http://www.eclipse.org/org/documents/epl-v10.php + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.android.ide.eclipse.tests; + + +import com.android.ide.eclipse.adt.AdtPlugin; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * Container TestSuite for all eclipse unit tests to be run + * + * Uses Eclipse OSGI to find and then run all junit.junit.framework.Tests in + * this plugin, excluding tests in the FuncTests.FUNC_TEST_PACKAGE package + * + * Since it uses Eclipse OSGI, it must be run in a Eclipse plugin environment + * i.e. from Eclipse workbench, this suite must be run using the + * "JUnit Plug-in Test" launch configuration as opposed to as a "JUnit Test" + * + */ +public class UnitTests { + private static final String TEST_PACKAGE = "com.android"; + + public static Test suite() { + TestSuite suite = new TestSuite(); + + UnitTestCollector collector = new UnitTestCollector(); + // since this plugin is a fragment which runs insde adt, gather tests from AdtPlugin + collector.addTestCases(suite, AdtPlugin.getDefault(), TEST_PACKAGE); + + return suite; + } + + /** + * Specialized test collector which will skip adding functional tests + */ + private static class UnitTestCollector extends EclipseTestCollector { + /** + * Override parent class to exclude functional tests + */ + @Override + protected boolean isTestClass(Class<?> testClass) { + return super.isTestClass(testClass) && + !testClass.getPackage().getName().startsWith(FuncTests.FUNC_TEST_PACKAGE); + } + } +} |