From f14adb8123c9d7aa8b88960c2042f5fc271b65bf Mon Sep 17 00:00:00 2001 From: Julien Desprez Date: Wed, 6 Jun 2018 03:00:28 -0700 Subject: Update Camera test interface to continue posting Camerage tests have an odd way of reporting tests, fix the interface so results go through. Test: Url: http://sponge.corp.google.com/invocation?tab=Test+Cases&show=FAILED&show=INTERNAL_ERROR&id=0c490671-a48b-4146-b669-786abfbb725b Bug: 109667929 Change-Id: I5b7ed73471710f2303861f00c519ff899336ff02 --- src/com/android/media/tests/Camera2FrameworkStressTest.java | 7 +++++-- src/com/android/media/tests/Camera2StressTest.java | 10 +++++++--- src/com/android/media/tests/CameraTestBase.java | 7 ++++--- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/com/android/media/tests/Camera2FrameworkStressTest.java b/src/com/android/media/tests/Camera2FrameworkStressTest.java index a6fb7ad..b275fe2 100644 --- a/src/com/android/media/tests/Camera2FrameworkStressTest.java +++ b/src/com/android/media/tests/Camera2FrameworkStressTest.java @@ -20,9 +20,11 @@ import com.android.tradefed.config.OptionClass; import com.android.tradefed.device.DeviceNotAvailableException; import com.android.tradefed.device.IFileEntry; import com.android.tradefed.log.LogUtil.CLog; +import com.android.tradefed.metrics.proto.MetricMeasurement.Metric; import com.android.tradefed.result.ITestInvocationListener; import com.android.tradefed.result.TestDescription; import com.android.tradefed.util.FileUtil; +import com.android.tradefed.util.proto.TfMetricProtoUtil; import java.io.BufferedReader; import java.io.File; @@ -90,14 +92,15 @@ public class Camera2FrameworkStressTest extends CameraTestBase { } @Override - public void testEnded(TestDescription test, long endTime, Map testMetrics) { + public void testEnded( + TestDescription test, long endTime, HashMap testMetrics) { if (hasTestRunFatalError()) { CLog.v("The instrumentation result not found. Fall back to get the metrics from a " + "log file. errorMsg: %s", getCollectingListener().getErrorMessage()); } // For stress test, parse the metrics from a log file. - testMetrics = parseLog(test.getTestName()); + testMetrics = TfMetricProtoUtil.upgradeConvert(parseLog(test.getTestName())); super.testEnded(test, endTime, testMetrics); } diff --git a/src/com/android/media/tests/Camera2StressTest.java b/src/com/android/media/tests/Camera2StressTest.java index b7e88b0..7b770fe 100644 --- a/src/com/android/media/tests/Camera2StressTest.java +++ b/src/com/android/media/tests/Camera2StressTest.java @@ -20,6 +20,7 @@ import com.android.tradefed.config.OptionClass; import com.android.tradefed.device.DeviceNotAvailableException; import com.android.tradefed.device.IFileEntry; import com.android.tradefed.log.LogUtil.CLog; +import com.android.tradefed.metrics.proto.MetricMeasurement.Metric; import com.android.tradefed.result.FileInputStreamSource; import com.android.tradefed.result.ITestInvocationListener; import com.android.tradefed.result.LogDataType; @@ -75,7 +76,8 @@ public class Camera2StressTest extends CameraTestBase { } @Override - public void testEnded(TestDescription test, long endTime, Map testMetrics) { + public void testEnded( + TestDescription test, long endTime, HashMap testMetrics) { if (hasTestRunFatalError()) { CLog.v("The instrumentation result not found. Fall back to get the metrics from a " + "log file. errorMsg: %s", getCollectingListener().getErrorMessage()); @@ -89,8 +91,10 @@ public class Camera2StressTest extends CameraTestBase { // add testMethod name to the metric Map namedTestMetrics = new HashMap<>(); - for (Entry entry : testMetrics.entrySet()) { - namedTestMetrics.put(test.getTestName() + entry.getKey(), entry.getValue()); + for (Entry entry : testMetrics.entrySet()) { + namedTestMetrics.put( + test.getTestName() + entry.getKey(), + entry.getValue().getMeasurements().getSingleString()); } // parse the iterations metrics from the stress log files diff --git a/src/com/android/media/tests/CameraTestBase.java b/src/com/android/media/tests/CameraTestBase.java index f077bbb..8196fa5 100644 --- a/src/com/android/media/tests/CameraTestBase.java +++ b/src/com/android/media/tests/CameraTestBase.java @@ -282,11 +282,12 @@ public class CameraTestBase implements IDeviceTest, IRemoteTest, IConfigurationR * @param testMetrics a {@link Map} of the metrics emitted */ @Override - public void testEnded(TestDescription test, long endTime, Map testMetrics) { + public void testEnded( + TestDescription test, long endTime, HashMap testMetrics) { super.testEnded(test, endTime, testMetrics); - handleMetricsOnTestEnded(test, testMetrics); + handleMetricsOnTestEnded(test, TfMetricProtoUtil.compatibleConvert(testMetrics)); stopDumping(test); - mListener.testEnded(test, endTime, TfMetricProtoUtil.upgradeConvert(testMetrics)); + mListener.testEnded(test, endTime, testMetrics); } @Override -- cgit v1.2.3