diff options
author | Julien Desprez <jdesprez@google.com> | 2017-09-05 15:40:16 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-09-05 15:40:16 +0000 |
commit | 06cbca570f530774db30026e6da399d4ffae305e (patch) | |
tree | 3309b84bad9c30f674da2844ce6ffc22f8c1e342 | |
parent | 67fff0641a71873f913adcd1515411b555818417 (diff) | |
parent | 885550f4e2f4bdd16db653b4a298e874e49148cb (diff) | |
download | tradefederation-06cbca570f530774db30026e6da399d4ffae305e.tar.gz |
Merge "Convert cancel to safer close() pattern" into oc-dev
19 files changed, 61 insertions, 90 deletions
diff --git a/prod-tests/src/com/android/app/tests/AppLaunchTest.java b/prod-tests/src/com/android/app/tests/AppLaunchTest.java index 3269faa3c..416179189 100644 --- a/prod-tests/src/com/android/app/tests/AppLaunchTest.java +++ b/prod-tests/src/com/android/app/tests/AppLaunchTest.java @@ -133,8 +133,8 @@ public class AppLaunchTest implements IDeviceTest, IRemoteTest, IBuildReceiver { i.setDevice(getDevice()); i.addInstrumentationArg("packageName", packageName); i.run(listener); - InputStreamSource s = getDevice().getScreenshot(); - listener.testLog("screenshot", LogDataType.PNG, s); - s.cancel(); + try (InputStreamSource s = getDevice().getScreenshot()) { + listener.testLog("screenshot", LogDataType.PNG, s); + } } } diff --git a/prod-tests/src/com/android/framework/tests/BandwidthMicroBenchMarkTest.java b/prod-tests/src/com/android/framework/tests/BandwidthMicroBenchMarkTest.java index 0ef008435..e0865a5b0 100644 --- a/prod-tests/src/com/android/framework/tests/BandwidthMicroBenchMarkTest.java +++ b/prod-tests/src/com/android/framework/tests/BandwidthMicroBenchMarkTest.java @@ -177,9 +177,9 @@ public class BandwidthMicroBenchMarkTest implements IDeviceTest, IRemoteTest { } private void saveFile(String spongeName, ITestInvocationListener listener, File file) { - InputStreamSource stream = new FileInputStreamSource(file); - listener.testLog(spongeName, LogDataType.TEXT, stream); - stream.cancel(); + try (InputStreamSource stream = new FileInputStreamSource(file)) { + listener.testLog(spongeName, LogDataType.TEXT, stream); + } } /** diff --git a/prod-tests/src/com/android/framework/tests/DataIdleTest.java b/prod-tests/src/com/android/framework/tests/DataIdleTest.java index 82c26746b..eeccbf576 100644 --- a/prod-tests/src/com/android/framework/tests/DataIdleTest.java +++ b/prod-tests/src/com/android/framework/tests/DataIdleTest.java @@ -119,9 +119,9 @@ public class DataIdleTest implements IDeviceTest, IRemoteTest { * @param listener {@link ITestInvocationListener} */ void logBugReport(ITestInvocationListener listener) { - InputStreamSource bugreport = mTestDevice.getBugreport(); - listener.testLog(BUG_REPORT_LABEL, LogDataType.BUGREPORT, bugreport); - bugreport.cancel(); + try (InputStreamSource bugreport = mTestDevice.getBugreport()) { + listener.testLog(BUG_REPORT_LABEL, LogDataType.BUGREPORT, bugreport); + } } /** diff --git a/prod-tests/src/com/android/framework/tests/DownloadManagerHostTests.java b/prod-tests/src/com/android/framework/tests/DownloadManagerHostTests.java index 9d2c97858..38838fc6e 100644 --- a/prod-tests/src/com/android/framework/tests/DownloadManagerHostTests.java +++ b/prod-tests/src/com/android/framework/tests/DownloadManagerHostTests.java @@ -230,10 +230,10 @@ public class DownloadManagerHostTests extends DeviceTestCase { CLog.w("dumpsys wifi did not return output"); } else { String name = test.getTestName() +"-dumpsys-wifi"; - ByteArrayInputStreamSource stream = - new ByteArrayInputStreamSource(output.getBytes()); - super.testLog(name, LogDataType.TEXT, stream); - stream.cancel(); + try (ByteArrayInputStreamSource stream = + new ByteArrayInputStreamSource(output.getBytes())) { + super.testLog(name, LogDataType.TEXT, stream); + } } } catch (DeviceNotAvailableException e) { CLog.e("Error getting dumpsys wifi"); diff --git a/prod-tests/src/com/android/framework/tests/FrameworkStressTest.java b/prod-tests/src/com/android/framework/tests/FrameworkStressTest.java index 21f085c79..41e601b2d 100644 --- a/prod-tests/src/com/android/framework/tests/FrameworkStressTest.java +++ b/prod-tests/src/com/android/framework/tests/FrameworkStressTest.java @@ -144,8 +144,7 @@ public class FrameworkStressTest implements IDeviceTest, IRemoteTest { // Retrieve bugreport BugreportParser parser = new BugreportParser(); BugreportItem bugreport = null; - InputStreamSource bugSource = mTestDevice.getBugreport(); - try { + try (InputStreamSource bugSource = mTestDevice.getBugreport()) { mListener.testLog(BUGREPORT_LOG_NAME, LogDataType.BUGREPORT, bugSource); bugreport = parser.parse(new BufferedReader(new InputStreamReader( bugSource.createInputStream()))); @@ -154,8 +153,6 @@ public class FrameworkStressTest implements IDeviceTest, IRemoteTest { } catch (IOException e) { Assert.fail(String.format("Failed to fetch and parse bugreport for device %s: " + "%s", mTestDevice.getSerialNumber(), e)); - } finally { - bugSource.cancel(); } LogcatItem systemLog = bugreport.getSystemLog(); // We only add errors found since last test run. diff --git a/prod-tests/src/com/android/framework/tests/PreloadedClassesTest.java b/prod-tests/src/com/android/framework/tests/PreloadedClassesTest.java index 7f58f284f..04ab7b79e 100644 --- a/prod-tests/src/com/android/framework/tests/PreloadedClassesTest.java +++ b/prod-tests/src/com/android/framework/tests/PreloadedClassesTest.java @@ -138,11 +138,11 @@ public class PreloadedClassesTest implements IRemoteTest, IDeviceTest, IBuildRec // Generate the corresponding preloaded classes File classes = writePreloadedClasses(threshold); if (classes != null) { - FileInputStreamSource stream = new FileInputStreamSource(classes); - String name = String.format("preloaded-classes-threshold-%s", thresholdStr); - listener.testLog(name, LogDataType.TEXT, stream); + try (FileInputStreamSource stream = new FileInputStreamSource(classes)) { + String name = String.format("preloaded-classes-threshold-%s", thresholdStr); + listener.testLog(name, LogDataType.TEXT, stream); + } // Clean up after uploading - stream.cancel(); FileUtil.deleteFile(classes); } else { String msg = String.format( diff --git a/prod-tests/src/com/android/graphics/tests/ImageProcessingTest.java b/prod-tests/src/com/android/graphics/tests/ImageProcessingTest.java index a6909cd78..e3d038288 100644 --- a/prod-tests/src/com/android/graphics/tests/ImageProcessingTest.java +++ b/prod-tests/src/com/android/graphics/tests/ImageProcessingTest.java @@ -86,9 +86,9 @@ public class ImageProcessingTest implements IDeviceTest, IRemoteTest { mTestDevice.runInstrumentationTests(runner, collectListener, bugListener, standardListener); // Capture a bugreport after the test - InputStreamSource bugreport = mTestDevice.getBugreport(); - standardListener.testLog("bugreport.txt", LogDataType.BUGREPORT, bugreport); - bugreport.cancel(); + try (InputStreamSource bugreport = mTestDevice.getBugreport()) { + standardListener.testLog("bugreport.txt", LogDataType.BUGREPORT, bugreport); + } // Collect test metrics from the instrumentation test output. Map<String, String> resultMetrics = new HashMap<String, String>(); diff --git a/prod-tests/src/com/android/graphics/tests/OpenGlPerformanceTest.java b/prod-tests/src/com/android/graphics/tests/OpenGlPerformanceTest.java index d81ed7b8d..d2340ee62 100644 --- a/prod-tests/src/com/android/graphics/tests/OpenGlPerformanceTest.java +++ b/prod-tests/src/com/android/graphics/tests/OpenGlPerformanceTest.java @@ -189,9 +189,9 @@ public class OpenGlPerformanceTest implements IDeviceTest, IRemoteTest { private void logOutputFile(ITestInvocationListener listener) throws DeviceNotAvailableException { // take a bug report, it is possible the system crashed - InputStreamSource bugreport = mTestDevice.getBugreport(); - listener.testLog("bugreport.txt", LogDataType.BUGREPORT, bugreport); - bugreport.cancel(); + try (InputStreamSource bugreport = mTestDevice.getBugreport()) { + listener.testLog("bugreport.txt", LogDataType.BUGREPORT, bugreport); + } File resFile = null; InputStreamSource outputSource = null; diff --git a/prod-tests/src/com/android/graphics/tests/SkiaTest.java b/prod-tests/src/com/android/graphics/tests/SkiaTest.java index 7d0dc1849..900f2ae18 100644 --- a/prod-tests/src/com/android/graphics/tests/SkiaTest.java +++ b/prod-tests/src/com/android/graphics/tests/SkiaTest.java @@ -189,10 +189,10 @@ public class SkiaTest implements IRemoteTest, IDeviceTest { listener.testFailed(testId, "Failed to pull " + remotePath); } else { CLog.v("pulled result file to " + localFile.getPath()); - FileInputStreamSource source = new FileInputStreamSource(localFile); - // Use the original name, for clarity. - listener.testLog(remoteFile.getName(), type, source); - source.cancel(); + try (FileInputStreamSource source = new FileInputStreamSource(localFile)) { + // Use the original name, for clarity. + listener.testLog(remoteFile.getName(), type, source); + } if (!localFile.delete()) { CLog.w("Failed to delete temporary file %s", localFile.getPath()); } diff --git a/prod-tests/src/com/android/graphics/tests/UiPerformanceTest.java b/prod-tests/src/com/android/graphics/tests/UiPerformanceTest.java index 166a7790b..d258f1e1e 100644 --- a/prod-tests/src/com/android/graphics/tests/UiPerformanceTest.java +++ b/prod-tests/src/com/android/graphics/tests/UiPerformanceTest.java @@ -151,9 +151,9 @@ public class UiPerformanceTest implements IDeviceTest, IRemoteTest { private void logOutputFile(ITestInvocationListener listener) throws DeviceNotAvailableException { // catch a bugreport after the test - InputStreamSource bugreport = mTestDevice.getBugreport(); - listener.testLog("bugreport", LogDataType.BUGREPORT, bugreport); - bugreport.cancel(); + try (InputStreamSource bugreport = mTestDevice.getBugreport()) { + listener.testLog("bugreport", LogDataType.BUGREPORT, bugreport); + } File resFile = null; InputStreamSource outputSource = null; diff --git a/prod-tests/src/com/android/monkey/AnrReportGenerator.java b/prod-tests/src/com/android/monkey/AnrReportGenerator.java index 271bbcb00..68525c061 100644 --- a/prod-tests/src/com/android/monkey/AnrReportGenerator.java +++ b/prod-tests/src/com/android/monkey/AnrReportGenerator.java @@ -156,10 +156,10 @@ public class AnrReportGenerator { command); if (cr.getStatus() == CommandStatus.SUCCESS) { // Test log the generated HTML report - InputStreamSource source = new FileInputStreamSource(htmlReport); - logger.testLog("monkey-anr-report", LogDataType.HTML, source); + try (InputStreamSource source = new FileInputStreamSource(htmlReport)) { + logger.testLog("monkey-anr-report", LogDataType.HTML, source); + } // Clean up and declare success! - source.cancel(); FileUtil.deleteFile(htmlReport); return true; } else { diff --git a/prod-tests/src/com/android/monkey/MonkeyBase.java b/prod-tests/src/com/android/monkey/MonkeyBase.java index c4f4f9da0..c99c33e6d 100644 --- a/prod-tests/src/com/android/monkey/MonkeyBase.java +++ b/prod-tests/src/com/android/monkey/MonkeyBase.java @@ -445,11 +445,8 @@ public class MonkeyBase implements IDeviceTest, IRemoteTest, IRetriableTest { protected void takeScreenshot(ITestInvocationListener listener, String screenshotName) throws DeviceNotAvailableException { if (mScreenshot) { - InputStreamSource screenshot = mTestDevice.getScreenshot("JPEG"); - try { + try (InputStreamSource screenshot = mTestDevice.getScreenshot("JPEG")) { listener.testLog(screenshotName, LogDataType.JPEG, screenshot); - } finally { - screenshot.cancel(); } } } @@ -505,9 +502,7 @@ public class MonkeyBase implements IDeviceTest, IRemoteTest, IRetriableTest { */ protected MonkeyLogItem createMonkeyLog(ITestInvocationListener listener, String monkeyLogName, String log) { - - InputStreamSource source = new ByteArrayInputStreamSource(log.getBytes()); - try { + try (InputStreamSource source = new ByteArrayInputStreamSource(log.getBytes())) { if (mAnrGen != null) { mAnrGen.setMonkeyLogInfo(source); } @@ -518,8 +513,6 @@ public class MonkeyBase implements IDeviceTest, IRemoteTest, IRetriableTest { CLog.e("Could not process monkey log."); CLog.e(e); return null; - } finally { - source.cancel(); } } diff --git a/prod-tests/src/com/android/monkey/MonkeyPairedBase.java b/prod-tests/src/com/android/monkey/MonkeyPairedBase.java index d184ca521..1739916ba 100644 --- a/prod-tests/src/com/android/monkey/MonkeyPairedBase.java +++ b/prod-tests/src/com/android/monkey/MonkeyPairedBase.java @@ -45,8 +45,6 @@ public class MonkeyPairedBase extends MonkeyBase implements IMultiDeviceTest { private ITestDevice mCompanion; private List<ITestDevice> mDeviceList = new ArrayList<>(); - private Map<ITestDevice, IBuildInfo> mInfoMap = null; - private Object mCompanionLock = new Object(); private ScheduledExecutorService mScheduler; /** @@ -104,6 +102,5 @@ public class MonkeyPairedBase extends MonkeyBase implements IMultiDeviceTest { public void setDeviceInfos(Map<ITestDevice, IBuildInfo> deviceInfos) { ClockworkUtils cwUtils = new ClockworkUtils(); mCompanion = cwUtils.setUpMultiDevice(deviceInfos, mDeviceList); - mInfoMap = deviceInfos; } }
\ No newline at end of file diff --git a/prod-tests/src/com/android/performance/tests/AppTransitionTests.java b/prod-tests/src/com/android/performance/tests/AppTransitionTests.java index 10dab9d04..667b0378c 100644 --- a/prod-tests/src/com/android/performance/tests/AppTransitionTests.java +++ b/prod-tests/src/com/android/performance/tests/AppTransitionTests.java @@ -667,12 +667,10 @@ public class AppTransitionTests implements IRemoteTest, IDeviceTest { } /** - * Reverse the given appName,componentName info map to - * componenetName,appName info map. - * - * @return + * Reverse and returnthe given appName,componentName info map to componenetName,appName info + * map. */ - private Map<String, String> reverseAppCmpInfoMap(Map<String,String> appNameCmpNameMap) { + private Map<String, String> reverseAppCmpInfoMap(Map<String, String> appNameCmpNameMap) { Map<String, String> cmpNameAppNameMap = new HashMap<String, String>(); for (Map.Entry<String, String> entry : appNameCmpNameMap.entrySet()) { cmpNameAppNameMap.put(entry.getValue(), entry.getKey()); diff --git a/prod-tests/src/com/android/performance/tests/HermeticLaunchTest.java b/prod-tests/src/com/android/performance/tests/HermeticLaunchTest.java index 57758a243..fefc9541c 100644 --- a/prod-tests/src/com/android/performance/tests/HermeticLaunchTest.java +++ b/prod-tests/src/com/android/performance/tests/HermeticLaunchTest.java @@ -43,7 +43,6 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; -import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collection; @@ -254,10 +253,7 @@ public class HermeticLaunchTest implements IRemoteTest, IDeviceTest { */ public void analyzeLogCatData(Set<String> activitySet) { Map<String, List<Integer>> amLaunchTimes = new HashMap<>(); - InputStreamSource input = mLogcat.getLogcatData(); - InputStream inputStream = input.createInputStream(); - InputStreamReader streamReader = new InputStreamReader(inputStream); - BufferedReader br = new BufferedReader(streamReader); + Map<Pattern, String> activityPatternMap = new HashMap<>(); Matcher match = null; String line; @@ -279,7 +275,9 @@ public class HermeticLaunchTest implements IRemoteTest, IDeviceTest { activityName); } - try { + try (InputStreamSource input = mLogcat.getLogcatData(); + BufferedReader br = + new BufferedReader(new InputStreamReader(input.createInputStream()))) { while ((line = br.readLine()) != null) { /* * Launch entry needed otherwise we will end up in comparing all the lines for all @@ -304,11 +302,6 @@ public class HermeticLaunchTest implements IRemoteTest, IDeviceTest { } } catch (IOException io) { CLog.e(io); - } finally { - StreamUtil.cancel(input); - StreamUtil.close(inputStream); - StreamUtil.close(streamReader); - StreamUtil.close(br); } // Verify logcat data @@ -341,7 +334,8 @@ public class HermeticLaunchTest implements IRemoteTest, IDeviceTest { /** * To extract the launch time displayed in given line - * @param currentLine + * + * @param duration * @return */ public int extractLaunchTime(String duration) { @@ -382,9 +376,10 @@ public class HermeticLaunchTest implements IRemoteTest, IDeviceTest { splitName[splitName.length - 1]); // Upload the file if needed if (msaveAtrace) { - FileInputStreamSource stream = new FileInputStreamSource(currentAtraceFile); - listener.testLog(currentAtraceFile.getName(), LogDataType.TEXT, stream); - stream.cancel(); + try (FileInputStreamSource stream = + new FileInputStreamSource(currentAtraceFile)) { + listener.testLog(currentAtraceFile.getName(), LogDataType.TEXT, stream); + } } // Remove the atrace files FileUtil.deleteFile(currentAtraceFile); diff --git a/prod-tests/src/com/android/performance/tests/StartupMetricsTest.java b/prod-tests/src/com/android/performance/tests/StartupMetricsTest.java index 6e391f3c4..195f22719 100644 --- a/prod-tests/src/com/android/performance/tests/StartupMetricsTest.java +++ b/prod-tests/src/com/android/performance/tests/StartupMetricsTest.java @@ -127,16 +127,13 @@ public class StartupMetricsTest implements IDeviceTest, IRemoteTest { BugreportParser parser = new BugreportParser(); BugreportItem bugreport = null; // Retrieve bugreport - InputStreamSource bugSource = mTestDevice.getBugreport(); - try { + try (InputStreamSource bugSource = mTestDevice.getBugreport()) { listener.testLog(BUGREPORT_LOG_NAME, LogDataType.BUGREPORT, bugSource); bugreport = parser.parse(new BufferedReader(new InputStreamReader( bugSource.createInputStream()))); } catch (IOException e) { Assert.fail(String.format("Failed to fetch and parse bugreport for device %s: %s", mTestDevice.getSerialNumber(), e)); - } finally { - bugSource.cancel(); } if (bugreport != null) { @@ -187,11 +184,9 @@ public class StartupMetricsTest implements IDeviceTest, IRemoteTest { * Aggregates the procrank data by the pss, rss, and uss values. * * @param listener the {@link ITestInvocationListener} of test results - * @param procRankMap the {@link Map} parsed from brillopad for the procrank - * section + * @param procrank the {@link Map} parsed from brillopad for the procrank section */ - void parseProcRankMap(ITestInvocationListener listener, - ProcrankItem procrank) { + void parseProcRankMap(ITestInvocationListener listener, ProcrankItem procrank) { // final maps for pss, rss, and uss. Map<String, String> pssOutput = new HashMap<String, String>(); Map<String, String> rssOutput = new HashMap<String, String>(); diff --git a/prod-tests/src/com/android/performance/tests/VellamoBenchmark.java b/prod-tests/src/com/android/performance/tests/VellamoBenchmark.java index 450ac7bbc..f6f5b531f 100644 --- a/prod-tests/src/com/android/performance/tests/VellamoBenchmark.java +++ b/prod-tests/src/com/android/performance/tests/VellamoBenchmark.java @@ -100,10 +100,9 @@ public class VellamoBenchmark implements IDeviceTest, IRemoteTest { isTimedOut = (System.currentTimeMillis() - benchmarkStartTime >= TIMEOUT_MS); // get the logcat and parse - BufferedReader logcat = + try (BufferedReader logcat = new BufferedReader( - new InputStreamReader(device.getLogcat().createInputStream())); - try { + new InputStreamReader(device.getLogcat().createInputStream()))) { while ((line = logcat.readLine()) != null) { // filter only output from the Vellamo process if (!line.contains(LOGTAG)) { diff --git a/prod-tests/src/com/android/security/tests/SELinuxDenialsTests.java b/prod-tests/src/com/android/security/tests/SELinuxDenialsTests.java index de428248c..88330d943 100644 --- a/prod-tests/src/com/android/security/tests/SELinuxDenialsTests.java +++ b/prod-tests/src/com/android/security/tests/SELinuxDenialsTests.java @@ -266,7 +266,7 @@ public class SELinuxDenialsTests implements IRemoteTest, IDeviceTest { CLog.e(String.format("Failed to fetch and parse bugreport for device %s: %s", mDevice.getSerialNumber(), e)); } finally { - bugreportSource.cancel(); + bugreportSource.close(); } return kernelLog; @@ -336,10 +336,10 @@ public class SELinuxDenialsTests implements IRemoteTest, IDeviceTest { return; // in order to attach logs to the listener, they need to be of type InputStreamSource - InputStreamSource logsInputStream = new ByteArrayInputStreamSource(logsStr.getBytes()); - // attach logs to listener, so the logs will be available to result reporters - listener.testLog(dataName, dataType, logsInputStream); - // cleanup the InputStreamSource - logsInputStream.cancel(); + try (InputStreamSource logsInputStream = + new ByteArrayInputStreamSource(logsStr.getBytes())) { + // attach logs to listener, so the logs will be available to result reporters + listener.testLog(dataName, dataType, logsInputStream); + } } } diff --git a/prod-tests/src/com/android/wireless/tests/TelephonyStabilityTest.java b/prod-tests/src/com/android/wireless/tests/TelephonyStabilityTest.java index 3891e6e7d..76f2de0fe 100644 --- a/prod-tests/src/com/android/wireless/tests/TelephonyStabilityTest.java +++ b/prod-tests/src/com/android/wireless/tests/TelephonyStabilityTest.java @@ -155,12 +155,9 @@ public class TelephonyStabilityTest implements IRemoteTest, IDeviceTest { if (shouldTakeReport) { lastBugreportIteration = currentIteration - 1; - InputStreamSource bugreport = mTestDevice.getBugreport(); - try { + try (InputStreamSource bugreport = mTestDevice.getBugreport()) { listener.testLog(String.format("bugreport_%04d", lastBugreportIteration), LogDataType.BUGREPORT, bugreport); - } finally { - bugreport.cancel(); } } |