/*
* 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 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.ide.eclipse";
public static Test suite() {
TestSuite suite = new TestSuite();
UnitTestCollector collector = new UnitTestCollector();
collector.addTestCases(suite, AndroidTestPlugin.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);
}
}
}
|