From ad18944e3e484f76055e5a0bb083331284ce1f13 Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Sat, 15 Feb 2025 14:32:22 +0100 Subject: [PATCH] Performance tests: use try-with-resources for dir child stream GitOrigin-RevId: e8567eccbac8a043c3e0433f9fa85bf100f12264 --- .../benchmark/BenchmarkTestInfoImpl.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/tools/intellij.tools.ide.metrics.benchmark/src/com/intellij/tools/ide/metrics/benchmark/BenchmarkTestInfoImpl.java b/tools/intellij.tools.ide.metrics.benchmark/src/com/intellij/tools/ide/metrics/benchmark/BenchmarkTestInfoImpl.java index a432223bdb9d..037ce0f7fe9f 100644 --- a/tools/intellij.tools.ide.metrics.benchmark/src/com/intellij/tools/ide/metrics/benchmark/BenchmarkTestInfoImpl.java +++ b/tools/intellij.tools.ide.metrics.benchmark/src/com/intellij/tools/ide/metrics/benchmark/BenchmarkTestInfoImpl.java @@ -32,13 +32,11 @@ import java.lang.reflect.Method; import java.nio.file.Files; import java.nio.file.InvalidPathException; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Locale; -import java.util.ServiceLoader; +import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.function.Function; import java.util.function.Supplier; +import java.util.stream.Stream; public class BenchmarkTestInfoImpl implements BenchmarkTestInfo { private enum IterationMode { @@ -115,11 +113,20 @@ public class BenchmarkTestInfoImpl implements BenchmarkTestInfo { // remove content of the previous tests from the idea.log IJPerfBenchmarksMetricsPublisher.Companion.truncateTestLog(); - var filesWithMetrics = Files.list(PathManager.getLogDir()).filter((it) -> - it.toString().contains("-metrics") || - it.toString().contains("-meters")).toList(); - for (Path file : filesWithMetrics) { - Files.deleteIfExists(file); + try (Stream logDirChildren = Files.list(PathManager.getLogDir())) { + logDirChildren.filter(child -> { + String name = child.toString(); + return name.contains("-metrics") + || name.contains("-meters"); + }) + .forEach(childToRemove -> { + try { + Files.deleteIfExists(childToRemove); + } + catch (IOException e) { + // ignore deletion errors for individual files + } + }); } } catch (Exception e) {