Skip to content

Commit 75fe2b3

Browse files
Added a timestamp to protect logs from being overwritten on retries. (#11213)
# What Does This Do Added a timestamp to protect logs from being overwritten on retries. # Motivation Keep real reason of flaky test. # Additional Notes Since we have Develocity plugin that auto-reties failed test, there is a chance that useful information will be overwritten on retry. Co-authored-by: alexey.kuznetsov <alexey.kuznetsov@datadoghq.com>
1 parent cde8f35 commit 75fe2b3

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

dd-smoke-tests/src/main/groovy/datadog/smoketest/ProcessManager.groovy

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import com.google.common.collect.ImmutableSet
44
import datadog.trace.agent.test.utils.PortUtils
55
import java.nio.file.Files
66
import java.nio.file.Paths
7+
import java.time.Instant
8+
import java.time.ZoneOffset
9+
import java.time.format.DateTimeFormatter
710
import java.util.concurrent.TimeUnit
811
import spock.lang.AutoCleanup
912
import spock.lang.Shared
@@ -17,6 +20,8 @@ abstract class ProcessManager extends Specification {
1720
public static final String ENV = "smoketest"
1821
public static final String VERSION = "99"
1922
public static final Set<String> NOISY_ENVIRONMENT_VARIABLES = ImmutableSet.of('CI_COMMIT_MESSAGE', 'CI_COMMIT_DESCRIPTION')
23+
private static final DateTimeFormatter LOG_FILE_TIMESTAMP_FORMATTER =
24+
DateTimeFormatter.ofPattern("yyyy-MM-dd-HHmmss.SSS", Locale.ROOT).withZone(ZoneOffset.UTC)
2025

2126
@Shared
2227
protected String buildDirectory = System.getProperty("datadog.smoketest.builddir")
@@ -45,9 +50,13 @@ abstract class ProcessManager extends Specification {
4550
@Shared
4651
protected Process testedProcess
4752

53+
// Added a timestamp to protect logs from being overwritten on retries.
54+
@Shared
55+
private String logFileTimestamp = LOG_FILE_TIMESTAMP_FORMATTER.format(Instant.now())
56+
4857
@Shared
4958
private String[] logFilePaths = (0..<numberOfProcesses).collect { idx ->
50-
"${buildDirectory}/reports/testProcess.${this.getClass().getName()}.${idx}.log"
59+
"${buildDirectory}/reports/testProcess.${this.getClass().getName()}.${logFileTimestamp}.${idx}.log"
5160
}
5261

5362
// Here for backwards compatibility with single process case

0 commit comments

Comments
 (0)