Merge "Remove unused a.t.s.InstrumentationTestSuiteBuilder" am: 1935dce8eb
am: a4d2464189
Change-Id: I88278d5cfd8fc3466cce39de3de54e34d67cbe0f
This commit is contained in:
@@ -1,35 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* 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 android.test.suitebuilder;
|
||||
|
||||
/**
|
||||
* A suite builder that finds instrumentation tests.
|
||||
*
|
||||
* {@hide} Not needed for 1.0 SDK.
|
||||
*/
|
||||
public class InstrumentationTestSuiteBuilder extends TestSuiteBuilder {
|
||||
|
||||
public InstrumentationTestSuiteBuilder(Class clazz) {
|
||||
this(clazz.getName(), clazz.getClassLoader());
|
||||
}
|
||||
|
||||
|
||||
public InstrumentationTestSuiteBuilder(String name, ClassLoader classLoader) {
|
||||
super(name, classLoader);
|
||||
addRequirements(TestPredicates.SELECT_INSTRUMENTATION);
|
||||
}
|
||||
}
|
||||
@@ -1,116 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2008 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.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.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* 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 android.test.suitebuilder;
|
||||
|
||||
import static android.test.suitebuilder.ListTestCaseNames.getTestCaseNames;
|
||||
import android.test.suitebuilder.examples.OuterTest;
|
||||
import android.test.suitebuilder.examples.instrumentation.InstrumentationTest;
|
||||
|
||||
import junit.framework.AssertionFailedError;
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestListener;
|
||||
import junit.framework.TestResult;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class InstrumentationTestSuiteBuilderTest extends TestCase {
|
||||
|
||||
private InstrumentationTestSuiteBuilder instrumentationTestSuiteBuilder;
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
instrumentationTestSuiteBuilder = new InstrumentationTestSuiteBuilder(getClass());
|
||||
}
|
||||
|
||||
public void testShouldIncludeIntrumentationTests() throws Exception {
|
||||
instrumentationTestSuiteBuilder.includePackages(packageFor(InstrumentationTest.class));
|
||||
|
||||
SuiteExecutionRecorder recorder = runSuite(instrumentationTestSuiteBuilder);
|
||||
|
||||
assertEquals(1, recorder.testsSeen.size());
|
||||
assertTrue(recorder.saw("InstrumentationTest.testInstrumentation"));
|
||||
}
|
||||
|
||||
public void testShouldOnlyIncludeIntrumentationTests() throws Exception {
|
||||
TestSuite testSuite = new OuterTest()
|
||||
.buildTestsUnderHereWith(instrumentationTestSuiteBuilder);
|
||||
List<String> testCaseNames = getTestCaseNames(testSuite);
|
||||
assertEquals(1, testCaseNames.size());
|
||||
assertEquals("testInstrumentation", testCaseNames.get(0));
|
||||
}
|
||||
|
||||
private static String packageFor(Class clazz) {
|
||||
String className = clazz.getName();
|
||||
return className.substring(0, className.lastIndexOf('.'));
|
||||
}
|
||||
|
||||
private SuiteExecutionRecorder runSuite(TestSuiteBuilder builder) {
|
||||
TestSuite suite = builder.build();
|
||||
SuiteExecutionRecorder recorder = new SuiteExecutionRecorder();
|
||||
TestResult result = new TestResult();
|
||||
result.addListener(recorder);
|
||||
suite.run(result);
|
||||
return recorder;
|
||||
}
|
||||
|
||||
private class SuiteExecutionRecorder implements TestListener {
|
||||
|
||||
private Set<String> failures = new HashSet<String>();
|
||||
private Set<String> errors = new HashSet<String>();
|
||||
private Set<String> testsSeen = new HashSet<String>();
|
||||
|
||||
public void addError(Test test, Throwable t) {
|
||||
errors.add(testName(test));
|
||||
}
|
||||
|
||||
public void addFailure(Test test, AssertionFailedError t) {
|
||||
failures.add(testName(test));
|
||||
}
|
||||
|
||||
public void endTest(Test test) {
|
||||
}
|
||||
|
||||
public void startTest(Test test) {
|
||||
testsSeen.add(testName(test));
|
||||
}
|
||||
|
||||
public boolean saw(String testName) {
|
||||
return testsSeen.contains(testName);
|
||||
}
|
||||
|
||||
public boolean failed(String testName) {
|
||||
return failures.contains(testName);
|
||||
}
|
||||
|
||||
public boolean errored(String testName) {
|
||||
return errors.contains(testName);
|
||||
}
|
||||
|
||||
public boolean passed(String testName) {
|
||||
return saw(testName) && !failed(testName) && !errored(testName);
|
||||
}
|
||||
|
||||
private String testName(Test test) {
|
||||
TestCase testCase = (TestCase) test;
|
||||
return testCase.getClass().getSimpleName() + "." + testCase.getName();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user