blob: f3ae7a3f403ddf94c2afa206b19a5f45ed15d4af [file] [log] [blame]
/*
* Copyright (C) 2015 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 com.android.compatibility.common.tradefed.result;
import com.android.compatibility.common.tradefed.testtype.IModuleDef;
import com.android.ddmlib.testrunner.TestIdentifier;
import com.android.tradefed.build.IBuildInfo;
import com.android.tradefed.log.LogUtil.CLog;
import com.android.tradefed.result.ITestInvocationListener;
import com.android.tradefed.result.InputStreamSource;
import com.android.tradefed.result.LogDataType;
import com.android.tradefed.result.TestSummary;
import java.util.Map;
/**
* Listener for Compatibility test info.
* <p>
* This listener wraps around the normal listener to convert from module name to module id.
*/
public class ModuleListener implements IModuleListener {
private IModuleDef mModule;
private ITestInvocationListener mListener;
/**
* @param module
* @param listener
*/
public ModuleListener(IModuleDef module, ITestInvocationListener listener) {
mModule = module;
mListener = listener;
}
/**
* {@inheritDoc}
*/
@Override
public void invocationStarted(IBuildInfo buildInfo) {
CLog.d("ModuleListener.invocationStarted(%s)", buildInfo.toString());
mListener.invocationStarted(buildInfo);
}
/**
* {@inheritDoc}
*/
@Override
public void testRunStarted(String name, int numTests) {
CLog.d("ModuleListener.testRunStarted(%s, %d)", name, numTests);
mListener.testRunStarted(mModule.getId(), numTests);
}
/**
* {@inheritDoc}
*/
@Override
public void testStarted(TestIdentifier test) {
CLog.d("ModuleListener.testStarted(%s)", test.toString());
mListener.testStarted(test);
}
/**
* {@inheritDoc}
*/
@Override
public void testEnded(TestIdentifier test, Map<String, String> metrics) {
CLog.d("ModuleListener.testEnded(%s, %s)", test.toString(), metrics.toString());
mListener.testEnded(test, metrics);
}
/**
* {@inheritDoc}
*/
@Override
public void testIgnored(TestIdentifier test) {
CLog.d("ModuleListener.testIgnored(%s)", test.toString());
mListener.testIgnored(test);
}
/**
* {@inheritDoc}
*/
@Override
public void testFailed(TestIdentifier test, String trace) {
CLog.d("ModuleListener.testFailed(%s, %s)", test.toString(), trace);
mListener.testFailed(test, trace);
}
/**
* {@inheritDoc}
*/
@Override
public void testAssumptionFailure(TestIdentifier test, String trace) {
CLog.d("ModuleListener.testAssumptionFailure(%s, %s)", test.toString(), trace);
mListener.testAssumptionFailure(test, trace);
}
/**
* {@inheritDoc}
*/
@Override
public void testRunStopped(long elapsedTime) {
CLog.d("ModuleListener.testRunStopped(%d)", elapsedTime);
mListener.testRunStopped(elapsedTime);
}
/**
* {@inheritDoc}
*/
@Override
public void testRunEnded(long elapsedTime, Map<String, String> metrics) {
CLog.d("ModuleListener.testRunEnded(%d, %s)", elapsedTime, metrics.toString());
mListener.testRunEnded(elapsedTime, metrics);
}
/**
* {@inheritDoc}
*/
@Override
public void testRunFailed(String errorMessage) {
CLog.d("ModuleListener.testRunFailed(%s)", errorMessage);
mListener.testRunFailed(errorMessage);
}
/**
* {@inheritDoc}
*/
@Override
public TestSummary getSummary() {
return mListener.getSummary();
}
/**
* {@inheritDoc}
*/
@Override
public void invocationEnded(long elapsedTime) {
CLog.d("ModuleListener.invocationEnded(%d)", elapsedTime);
mListener.invocationEnded(elapsedTime);
}
/**
* {@inheritDoc}
*/
@Override
public void invocationFailed(Throwable cause) {
CLog.d("ModuleListener.invocationFailed(%s)", cause.toString());
mListener.invocationFailed(cause);
}
/**
* {@inheritDoc}
*/
@Override
public void testLog(String name, LogDataType type, InputStreamSource stream) {
CLog.d("ModuleListener.testLog(%s, %s, %s)", name, type.toString(), stream.toString());
mListener.testLog(name, type, stream);
}
}