diff --git a/tools/intellij.ide.starter/src/com/intellij/ide/starter/runner/IDERunContext.kt b/tools/intellij.ide.starter/src/com/intellij/ide/starter/runner/IDERunContext.kt index 3e8b2c421bc1..6d90a04c4e11 100644 --- a/tools/intellij.ide.starter/src/com/intellij/ide/starter/runner/IDERunContext.kt +++ b/tools/intellij.ide.starter/src/com/intellij/ide/starter/runner/IDERunContext.kt @@ -275,10 +275,10 @@ data class IDERunContext( ErrorReporter.reportErrorsAsFailedTests(logsDir / "script-errors", contextName) val (artifactPath, artifactName) = if (successfulRun) contextName to "logs" else "run/$contextName" to "crash" - testContext.publishArtifact(logsDir, artifactPath, artifactName) + testContext.publishArtifact(logsDir, artifactPath, formatArtifactName(artifactName, testContext.testName)) val snapshotFiles = Files.list(testContext.paths.snapshotsDir).use { it.filter { it.isRegularFile() }.toList() } if (snapshotFiles.isNotEmpty()) { - testContext.publishArtifact(testContext.paths.snapshotsDir, contextName, "snapshots") + testContext.publishArtifact(testContext.paths.snapshotsDir, contextName, formatArtifactName("snapshots", testContext.testName)) } if (codeBuilder != null) { host.tearDown(testContext) diff --git a/tools/intellij.ide.starter/src/com/intellij/ide/starter/utils/utils.kt b/tools/intellij.ide.starter/src/com/intellij/ide/starter/utils/utils.kt index 1a6899560a72..67e849b7245e 100644 --- a/tools/intellij.ide.starter/src/com/intellij/ide/starter/utils/utils.kt +++ b/tools/intellij.ide.starter/src/com/intellij/ide/starter/utils/utils.kt @@ -13,9 +13,16 @@ import java.nio.charset.Charset import java.nio.file.FileStore import java.nio.file.Files import java.nio.file.Path +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter import kotlin.io.path.* import kotlin.time.Duration +fun formatArtifactName(artifactType: String, testName: String): String{ + val testNameFormatted = testName.replace("/", "-").replace(" ", "") + val time = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + return "$artifactType-$testNameFormatted-$time" +} fun getThrowableText(t: Throwable): String { val writer = StringWriter()