From f705e997e865bb4fef4ea7e5e37e7f1e0781af6e Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Mon, 20 Jun 2022 20:49:35 +0100 Subject: [PATCH] Add "fabric.loom.test.homeDir" system prob to re-use gradle home between test runs. Vastly speeds up unit tests. --- build.gradle | 5 +++++ .../fabricmc/loom/test/util/GradleProjectTestTrait.groovy | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/build.gradle b/build.gradle index b71ea7af..7c4e7e3b 100644 --- a/build.gradle +++ b/build.gradle @@ -189,6 +189,11 @@ jacocoTestReport { test { maxHeapSize = "1536m" useJUnitPlatform() + + // Forward system prop onto tests. + if (System.getProperty("fabric.loom.test.homeDir")) { + systemProperty "fabric.loom.test.homeDir", System.getProperty("fabric.loom.test.homeDir") + } } import org.gradle.util.GradleVersion diff --git a/src/test/groovy/net/fabricmc/loom/test/util/GradleProjectTestTrait.groovy b/src/test/groovy/net/fabricmc/loom/test/util/GradleProjectTestTrait.groovy index 4dcecedd..f88e68cc 100644 --- a/src/test/groovy/net/fabricmc/loom/test/util/GradleProjectTestTrait.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/util/GradleProjectTestTrait.groovy @@ -46,6 +46,13 @@ trait GradleProjectTestTrait { File projectDir = options.projectDir as File ?: options.sharedFiles ? sharedProjectDir : File.createTempDir() File gradleHomeDir = options.gradleHomeDir as File ?: options.sharedFiles ? sharedGradleHomeDir : File.createTempDir() + // Useful for faster local testing. + def homeDirOverride = System.getProperty("fabric.loom.test.homeDir") + + if (homeDirOverride) { + gradleHomeDir = new File(homeDirOverride); + } + setupProject(options, projectDir) println([