From e021256e53d659053e91323a9df8c2c6fea19d1c Mon Sep 17 00:00:00 2001 From: Julien Desprez Date: Tue, 4 Dec 2018 09:33:39 -0800 Subject: [PATCH] Update DeqpTestRunner to use new Metrics Speed up slightly DeqpTestRunner collect-test-only by: - batching the logs - avoiding old metric to convertion. Test: run cts-unit-tests ./cts-tradefed run cts-dev -m CtsDeqpTestCases --collect-tests-only Bug: 120479153 Change-Id: Ie5317f8028322ec04b01cedc6298c44924159dd9 --- .../drawelements/deqp/runner/DeqpTestRunner.java | 10 ++++++---- .../deqp/runner/DeqpTestRunnerTest.java | 21 +++++++++++---------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/android/cts/runner/src/com/drawelements/deqp/runner/DeqpTestRunner.java b/android/cts/runner/src/com/drawelements/deqp/runner/DeqpTestRunner.java index 8874194..a590e1f 100644 --- a/android/cts/runner/src/com/drawelements/deqp/runner/DeqpTestRunner.java +++ b/android/cts/runner/src/com/drawelements/deqp/runner/DeqpTestRunner.java @@ -27,6 +27,7 @@ import com.android.tradefed.config.OptionClass; import com.android.tradefed.device.DeviceNotAvailableException; import com.android.tradefed.device.ITestDevice; import com.android.tradefed.log.LogUtil.CLog; +import com.android.tradefed.metrics.proto.MetricMeasurement.Metric; import com.android.tradefed.result.ByteArrayInputStreamSource; import com.android.tradefed.result.ITestInvocationListener; import com.android.tradefed.result.LogDataType; @@ -312,7 +313,7 @@ public class DeqpTestRunner implements IBuildReceiver, IDeviceTest, mSink.testLog(testId.getClassName() + "." + testId.getTestName() + "@" + entry.getKey().getId(), LogDataType.XML, source); - source.cancel(); + source.close(); } } @@ -333,7 +334,7 @@ public class DeqpTestRunner implements IBuildReceiver, IDeviceTest, mSink.testFailed(testId, errorLog.toString()); } - final Map emptyMap = Collections.emptyMap(); + final HashMap emptyMap = new HashMap<>(); mSink.testEnded(testId, emptyMap); } } @@ -1615,12 +1616,13 @@ public class DeqpTestRunner implements IBuildReceiver, IDeviceTest, * Pass all remaining tests without running them */ private void fakePassTests(ITestInvocationListener listener) { - Map emptyMap = Collections.emptyMap(); + HashMap emptyMap = new HashMap<>(); for (TestDescription test : mRemainingTests) { - CLog.d("Skipping test '%s', Opengl ES version not supported", test.toString()); listener.testStarted(test); listener.testEnded(test, emptyMap); } + // Log only once all the skipped tests + CLog.d("Opengl ES version not supported. Skipping tests '%s'", mRemainingTests); mRemainingTests.clear(); } diff --git a/android/cts/runner/tests/src/com/drawelements/deqp/runner/DeqpTestRunnerTest.java b/android/cts/runner/tests/src/com/drawelements/deqp/runner/DeqpTestRunnerTest.java index c3eca58..83d1ca6 100644 --- a/android/cts/runner/tests/src/com/drawelements/deqp/runner/DeqpTestRunnerTest.java +++ b/android/cts/runner/tests/src/com/drawelements/deqp/runner/DeqpTestRunnerTest.java @@ -23,6 +23,7 @@ import com.android.tradefed.config.ConfigurationException; import com.android.tradefed.config.OptionSetter; import com.android.tradefed.device.DeviceNotAvailableException; import com.android.tradefed.device.ITestDevice; +import com.android.tradefed.metrics.proto.MetricMeasurement.Metric; import com.android.tradefed.result.ITestInvocationListener; import com.android.tradefed.result.TestDescription; import com.android.tradefed.testtype.Abi; @@ -137,7 +138,7 @@ public class DeqpTestRunnerTest extends TestCase { private static DeqpTestRunner buildGlesTestRunner(int majorVersion, int minorVersion, String testlist, - File testsDir) throws ConfigurationException, FileNotFoundException { + File testsDir) throws ConfigurationException { DeqpTestRunner runner = new DeqpTestRunner(); OptionSetter setter = new OptionSetter(runner); @@ -254,7 +255,7 @@ public class DeqpTestRunnerTest extends TestCase { mockListener.testStarted(EasyMock.eq(testId)); EasyMock.expectLastCall().once(); - mockListener.testEnded(EasyMock.eq(testId), EasyMock.>notNull()); + mockListener.testEnded(EasyMock.eq(testId), EasyMock.>notNull()); EasyMock.expectLastCall().once(); mockListener.testRunEnded(EasyMock.anyLong(), EasyMock.>notNull()); @@ -395,7 +396,7 @@ public class DeqpTestRunnerTest extends TestCase { EasyMock.expectLastCall().once(); } - mockListener.testEnded(EasyMock.eq(testId), EasyMock.>notNull()); + mockListener.testEnded(EasyMock.eq(testId), EasyMock.>notNull()); EasyMock.expectLastCall().once(); mockListener.testRunEnded(EasyMock.anyLong(), EasyMock.>notNull()); @@ -555,7 +556,7 @@ public class DeqpTestRunnerTest extends TestCase { EasyMock.expectLastCall().once(); mockListener.testEnded(EasyMock.eq(testIds[i]), - EasyMock.>notNull()); + EasyMock.>notNull()); EasyMock.expectLastCall().once(); } @@ -655,7 +656,7 @@ public class DeqpTestRunnerTest extends TestCase { EasyMock.expectLastCall().once(); mockListener.testEnded(EasyMock.eq(expectedTests.get(i)), - EasyMock.>notNull()); + EasyMock.>notNull()); EasyMock.expectLastCall().once(); } @@ -914,7 +915,7 @@ public class DeqpTestRunnerTest extends TestCase { EasyMock.expectLastCall().once(); mockListener.testEnded(EasyMock.eq(testIds[i]), - EasyMock.>notNull()); + EasyMock.>notNull()); EasyMock.expectLastCall().once(); } @@ -1144,7 +1145,7 @@ public class DeqpTestRunnerTest extends TestCase { mockListener.testStarted(EasyMock.eq(testId)); EasyMock.expectLastCall().once(); - mockListener.testEnded(EasyMock.eq(testId), EasyMock.>notNull()); + mockListener.testEnded(EasyMock.eq(testId), EasyMock.>notNull()); EasyMock.expectLastCall().once(); mockListener.testRunEnded(EasyMock.anyLong(), EasyMock.>notNull()); @@ -1364,7 +1365,7 @@ public class DeqpTestRunnerTest extends TestCase { mockListener.testStarted(EasyMock.eq(testId)); EasyMock.expectLastCall().once(); - mockListener.testEnded(EasyMock.eq(testId), EasyMock.>notNull()); + mockListener.testEnded(EasyMock.eq(testId), EasyMock.>notNull()); EasyMock.expectLastCall().once(); mockListener.testRunEnded(EasyMock.anyLong(), EasyMock.>notNull()); @@ -1785,7 +1786,7 @@ public class DeqpTestRunnerTest extends TestCase { EasyMock.expectLastCall().once(); mockListener.testEnded(EasyMock.eq(shardTests.get(i)), - EasyMock.>notNull()); + EasyMock.>notNull()); EasyMock.expectLastCall().once(); } @@ -2103,7 +2104,7 @@ public class DeqpTestRunnerTest extends TestCase { EasyMock.expectLastCall().once(); mockListener.testEnded(EasyMock.eq(testIds[i]), - EasyMock.>notNull()); + EasyMock.>notNull()); EasyMock.expectLastCall().once(); } -- 2.7.4