Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ tasks.withType<Test>().configureEach {
!rootProject.providers.gradleProperty("rerun.tests.${project.name}").isPresent
}

// Trick to avoid on CI: "Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock."
// Use a task-specific user prefs directory
systemProperty("java.util.prefs.userRoot", "$buildDir/tmp/userPrefs/${name}")

// Split up tests that want to run forked in their own separate JVM for generated tasks
if (name.startsWith("forkedTest") || name.endsWith("ForkedTest")) {
setExcludes(emptyList())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,11 @@ import datadog.trace.api.config.GeneralConfig
import datadog.trace.api.config.TraceInstrumentationConfig
import datadog.trace.api.config.TracerConfig
import spock.lang.Specification
import spock.lang.TempDir
import spock.util.environment.Jvm

import java.nio.file.Path

import static datadog.trace.util.ConfigStrings.propertyNameToSystemPropertyName

abstract class CiVisibilitySmokeTest extends Specification {
Expand All @@ -21,6 +24,9 @@ abstract class CiVisibilitySmokeTest extends Specification {

private static final Map<String,String> DEFAULT_TRACER_CONFIG = defaultJvmArguments()

@TempDir
protected Path prefsDir

protected static String buildJavaHome() {
if (Jvm.current.isJava8()) {
return System.getenv("JAVA_8_HOME")
Expand Down Expand Up @@ -69,6 +75,10 @@ abstract class CiVisibilitySmokeTest extends Specification {

protected List<String> buildJvmArguments(String mockBackendIntakeUrl, String serviceName, Map<String, String> additionalArgs) {
List<String> arguments = []

// Trick to avoid on CI: "Couldn't flush user prefs: java.util.prefs.BackingStoreException: Couldn't get file lock."
arguments += "-Djava.util.prefs.userRoot=${prefsDir.toAbsolutePath()}"

Map<String, String> argMap = buildJvmArgMap(mockBackendIntakeUrl, serviceName, additionalArgs)

// for convenience when debugging locally
Expand Down
Loading