Files
frameworks_base/test-runner/src/android/test/TestPrinter.java
Paul Duffin b3f83ae66b Removed a.t.TestRunner and cleanup a.t.TestPrinter
Part of the work of removing JUnit and dependent android.test classes
from the Android API involves providing a static library that developers
can include in their test applications to ease migration. That library
will be built directly from the source (as opposed to android.jar which
is built from stubs) and so developers will be able to see classes and
methods that are not present in the stubs. This change is one of a
number of similar changes that cleanup the existing non-API code in
order to minimize the additional methods and classes exposed externally.
The basic approach is to remove unused classes and methods, use least
visible access modifier possible and generally minimize the amount of
publicly visible code.

The TestRunner class is not part of the API and is unused anywhere
within Android code (apart from one unused import which is in the
process of being removed) and in TestPrinter.

TestPrinter is not part of the API and its only use of TestRunner is to
implement the TestRunner.TestListener interface. It was safe to stop
TestPrinter from implementing TestRunner.TestListener because the latter
is only called from TestRunner which itself is never used. TestPrinter
was made package private as it is only used from the same package.

One the usages in TestPrinter were removed it was safe to remove
TestRunner.

Bug: 30188076
Test: make checkbuild and ran FrameworkTestRunnerTests
Change-Id: I0f4a6cf1fbec14c4778c6e09b8eabf822802774f
2017-06-22 15:17:26 +01:00

98 lines
2.7 KiB
Java

/*
* Copyright (C) 2006 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;
import android.util.Log;
import junit.framework.Test;
import junit.framework.TestListener;
import java.util.HashSet;
import java.util.Set;
/**
* Prints the test progress to stdout. Android includes a default
* implementation and calls these methods to print out test progress; you
* probably will not need to create or extend this class or call its methods manually.
* See the full {@link android.test} package description for information about
* getting test results.
*
* {@hide} Not needed for 1.0 SDK.
*/
@Deprecated
class TestPrinter implements TestListener {
private String mTag;
private boolean mOnlyFailures;
private Set<String> mFailedTests = new HashSet<String>();
TestPrinter(String tag, boolean onlyFailures) {
mTag = tag;
mOnlyFailures = onlyFailures;
}
private void started(String className) {
if (!mOnlyFailures) {
Log.i(mTag, "started: " + className);
}
}
private void finished(String className) {
if (!mOnlyFailures) {
Log.i(mTag, "finished: " + className);
}
}
private void passed(String className) {
if (!mOnlyFailures) {
Log.i(mTag, "passed: " + className);
}
}
private void failed(String className, Throwable exception) {
Log.i(mTag, "failed: " + className);
Log.i(mTag, "----- begin exception -----");
Log.i(mTag, "", exception);
Log.i(mTag, "----- end exception -----");
}
private void failed(Test test, Throwable t) {
mFailedTests.add(test.toString());
failed(test.toString(), t);
}
public void addError(Test test, Throwable t) {
failed(test, t);
}
public void addFailure(Test test, junit.framework.AssertionFailedError t) {
failed(test, t);
}
public void endTest(Test test) {
finished(test.toString());
if (!mFailedTests.contains(test.toString())) {
passed(test.toString());
}
mFailedTests.remove(test.toString());
}
public void startTest(Test test) {
started(test.toString());
}
}