From 39398b49269ac835693c6c437695af98d6c85639 Mon Sep 17 00:00:00 2001 From: Christophe Billiard Date: Mon, 27 Jul 2020 19:41:37 +0200 Subject: [PATCH] [#291] Add a runtime UUID to avoid filename conflicts when run on CI in parallel --- .../shared/src/main/scala/scoverage/Invoker.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scalac-scoverage-runtime/shared/src/main/scala/scoverage/Invoker.scala b/scalac-scoverage-runtime/shared/src/main/scala/scoverage/Invoker.scala index f7d222bf..dccf1ebb 100644 --- a/scalac-scoverage-runtime/shared/src/main/scala/scoverage/Invoker.scala +++ b/scalac-scoverage-runtime/shared/src/main/scala/scoverage/Invoker.scala @@ -6,6 +6,8 @@ import scoverage.Platform._ /** @author Stephen Samuel */ object Invoker { + private val runtimeUUID = java.util.UUID.randomUUID() + private val MeasurementsPrefix = "scoverage.measurements." private val threadFiles = new ThreadLocal[mutable.HashMap[String, FileWriter]] @@ -60,7 +62,7 @@ object Invoker { } def measurementFile(dataDir: File): File = measurementFile(dataDir.getAbsolutePath) - def measurementFile(dataDir: String): File = new File(dataDir, MeasurementsPrefix + Thread.currentThread.getId) + def measurementFile(dataDir: String): File = new File(dataDir, MeasurementsPrefix + runtimeUUID + "." + Thread.currentThread.getId) def findMeasurementFiles(dataDir: String): Array[File] = findMeasurementFiles(new File(dataDir)) def findMeasurementFiles(dataDir: File): Array[File] = dataDir.listFiles(new FileFilter {