From 153afc1418ef21fa3954a57c431c04ece9681fb4 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Fri, 2 Apr 2021 12:20:03 +0100 Subject: [PATCH] Reorganise tests (#378) --- .github/workflows/test-push.yml | 2 +- build.gradle | 14 +++++++------- .../intergration}/AccessWidenerTest.groovy | 12 ++++++------ .../{ => test/intergration}/DecompileTest.groovy | 12 ++++++------ .../loom/{ => test/intergration}/KotlinTest.groovy | 10 +++++----- .../intergration}/LegacyProjectTest.groovy | 6 +++--- .../intergration}/MavenProjectTest.groovy | 6 +++--- .../intergration}/MojangMappingsProjectTest.groovy | 10 +++++----- .../intergration}/MultiProjectTest.groovy | 12 ++++++------ .../intergration}/ReproducibleBuildTest.groovy | 4 ++-- .../{ => test/intergration}/RunConfigTest.groovy | 4 ++-- .../intergration}/SimpleProjectTest.groovy | 10 +++++----- .../loom/{ => test/intergration}/UnpickTest.groovy | 4 ++-- .../loom/{ => test/unit}/GroovyXmlUtilTest.groovy | 2 +- .../{ => test}/util/ArchiveAssertionsTrait.groovy | 2 +- .../{ => test}/util/MockMavenServerTrait.groovy | 2 +- .../loom/{ => test}/util/ProjectTestTrait.groovy | 8 +++++--- 17 files changed, 61 insertions(+), 59 deletions(-) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/AccessWidenerTest.groovy (88%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/DecompileTest.groovy (83%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/KotlinTest.groovy (90%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/LegacyProjectTest.groovy (91%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/MavenProjectTest.groovy (95%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/MojangMappingsProjectTest.groovy (90%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/MultiProjectTest.groovy (89%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/ReproducibleBuildTest.groovy (96%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/RunConfigTest.groovy (94%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/SimpleProjectTest.groovy (91%) rename src/test/groovy/net/fabricmc/loom/{ => test/intergration}/UnpickTest.groovy (95%) rename src/test/groovy/net/fabricmc/loom/{ => test/unit}/GroovyXmlUtilTest.groovy (98%) rename src/test/groovy/net/fabricmc/loom/{ => test}/util/ArchiveAssertionsTrait.groovy (97%) rename src/test/groovy/net/fabricmc/loom/{ => test}/util/MockMavenServerTrait.groovy (98%) rename src/test/groovy/net/fabricmc/loom/{ => test}/util/ProjectTestTrait.groovy (95%) diff --git a/.github/workflows/test-push.yml b/.github/workflows/test-push.yml index 5b1aa68..93cfb7a 100644 --- a/.github/workflows/test-push.yml +++ b/.github/workflows/test-push.yml @@ -61,7 +61,7 @@ jobs: steps: - uses: actions/checkout@v2 - - run: gradle test --tests *${{ matrix.test }} --stacktrace + - run: gradle test --tests ${{ matrix.test }} --stacktrace env: TEST_WARNING_MODE: fail diff --git a/build.gradle b/build.gradle index e128c26..7b7f831 100644 --- a/build.gradle +++ b/build.gradle @@ -211,21 +211,21 @@ publishing { task writeActionsTestMatrix() { doLast { def testMatrix = [] - file('src/test/groovy/net/fabricmc/loom').eachFile { + file('src/test/groovy/net/fabricmc/loom/test/intergration').eachFile { if (it.name.endsWith("Test.groovy")) { - if (it.text.contains("@Ignore")) { - // A quick hack to disable currently broken tests. - return - } - if (it.name.endsWith("ReproducibleBuildTest.groovy")) { // This test gets a special case to run across all os's return } - testMatrix.add(it.name.replace(".groovy", "")) + def className = it.name.replace(".groovy", "") + testMatrix.add("net.fabricmc.loom.test.intergration.${className}") } } + + // Run all the unit tests togeather + testMatrix.add("net.fabricmc.loom.test.unit.*") + def json = groovy.json.JsonOutput.toJson(testMatrix) def output = file("build/test_matrix.json") output.parentFile.mkdir() diff --git a/src/test/groovy/net/fabricmc/loom/AccessWidenerTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/AccessWidenerTest.groovy similarity index 88% rename from src/test/groovy/net/fabricmc/loom/AccessWidenerTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/AccessWidenerTest.groovy index bb67a20..0cde47a 100644 --- a/src/test/groovy/net/fabricmc/loom/AccessWidenerTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/AccessWidenerTest.groovy @@ -22,10 +22,10 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ArchiveAssertionsTrait -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ArchiveAssertionsTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import spock.lang.Specification import spock.lang.Unroll @@ -45,9 +45,9 @@ class AccessWidenerTest extends Specification implements ProjectTestTrait, Archi result.task(":build").outcome == SUCCESS getArchiveEntry("fabric-example-mod-1.0.0.jar", "modid.accesswidener") == expected().replaceAll('\r', '') where: - gradle | _ - '6.8.3' | _ - '7.0-rc-1' | _ + gradle | _ + DEFAULT_GRADLE | _ + PRE_RELEASE_GRADLE | _ } String expected() { diff --git a/src/test/groovy/net/fabricmc/loom/DecompileTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/DecompileTest.groovy similarity index 83% rename from src/test/groovy/net/fabricmc/loom/DecompileTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/DecompileTest.groovy index 47ec05b..4e4c182 100644 --- a/src/test/groovy/net/fabricmc/loom/DecompileTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/DecompileTest.groovy @@ -22,9 +22,9 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import spock.lang.Specification import spock.lang.Unroll @@ -46,9 +46,9 @@ class DecompileTest extends Specification implements ProjectTestTrait { where: decompiler | task | gradle - 'fernflower' | "genSources" | "6.8.3" - 'fernflower' | "genSources" | "4.9" - 'fernflower' | "genSources" | "7.0-rc-1" - 'cfr' | "genSourcesWithExperimentalCfr" | "6.8.3" + 'fernflower' | "genSources" | DEFAULT_GRADLE + 'fernflower' | "genSources" | LEGACY_GRADLE + 'fernflower' | "genSources" | PRE_RELEASE_GRADLE + 'cfr' | "genSourcesWithExperimentalCfr" | DEFAULT_GRADLE } } diff --git a/src/test/groovy/net/fabricmc/loom/KotlinTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/KotlinTest.groovy similarity index 90% rename from src/test/groovy/net/fabricmc/loom/KotlinTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/KotlinTest.groovy index d9a0784..a2d2ec0 100644 --- a/src/test/groovy/net/fabricmc/loom/KotlinTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/KotlinTest.groovy @@ -22,9 +22,9 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import spock.lang.Specification import spock.lang.Unroll @@ -43,8 +43,8 @@ class KotlinTest extends Specification implements ProjectTestTrait { then: result.task(":build").outcome == SUCCESS where: - gradle | _ - '6.8.3' | _ - '7.0-rc-1' | _ + gradle | _ + DEFAULT_GRADLE | _ + PRE_RELEASE_GRADLE | _ } } diff --git a/src/test/groovy/net/fabricmc/loom/LegacyProjectTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/LegacyProjectTest.groovy similarity index 91% rename from src/test/groovy/net/fabricmc/loom/LegacyProjectTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/LegacyProjectTest.groovy index 8d837a6..6187f02 100644 --- a/src/test/groovy/net/fabricmc/loom/LegacyProjectTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/LegacyProjectTest.groovy @@ -22,9 +22,9 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import spock.lang.Specification import spock.lang.Unroll @@ -40,7 +40,7 @@ class LegacyProjectTest extends Specification implements ProjectTestTrait { @Unroll def "build"() { when: - def result = create("build", "4.9") + def result = create("build", LEGACY_GRADLE) then: result.task(":build").outcome == SUCCESS } diff --git a/src/test/groovy/net/fabricmc/loom/MavenProjectTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/MavenProjectTest.groovy similarity index 95% rename from src/test/groovy/net/fabricmc/loom/MavenProjectTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/MavenProjectTest.groovy index 9c70591..3e511dd 100644 --- a/src/test/groovy/net/fabricmc/loom/MavenProjectTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/MavenProjectTest.groovy @@ -22,10 +22,10 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ArchiveAssertionsTrait -import net.fabricmc.loom.util.MockMavenServerTrait +import net.fabricmc.loom.test.util.ArchiveAssertionsTrait +import net.fabricmc.loom.test.util.MockMavenServerTrait import spock.lang.Specification import spock.lang.Stepwise import spock.lang.Unroll diff --git a/src/test/groovy/net/fabricmc/loom/MojangMappingsProjectTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/MojangMappingsProjectTest.groovy similarity index 90% rename from src/test/groovy/net/fabricmc/loom/MojangMappingsProjectTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/MojangMappingsProjectTest.groovy index 1a2c303..a98fb85 100644 --- a/src/test/groovy/net/fabricmc/loom/MojangMappingsProjectTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/MojangMappingsProjectTest.groovy @@ -22,9 +22,9 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import spock.lang.Specification import spock.lang.Unroll @@ -43,8 +43,8 @@ class MojangMappingsProjectTest extends Specification implements ProjectTestTrai then: result.task(":build").outcome == SUCCESS where: - gradle | _ - '6.8.3' | _ - '7.0-rc-1' | _ + gradle | _ + DEFAULT_GRADLE | _ + PRE_RELEASE_GRADLE | _ } } diff --git a/src/test/groovy/net/fabricmc/loom/MultiProjectTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/MultiProjectTest.groovy similarity index 89% rename from src/test/groovy/net/fabricmc/loom/MultiProjectTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/MultiProjectTest.groovy index 15bb017..05317dc 100644 --- a/src/test/groovy/net/fabricmc/loom/MultiProjectTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/MultiProjectTest.groovy @@ -22,10 +22,10 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ArchiveAssertionsTrait -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ArchiveAssertionsTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import spock.lang.Specification import spock.lang.Unroll @@ -54,8 +54,8 @@ class MultiProjectTest extends Specification implements ProjectTestTrait, Archiv hasArchiveEntry("multiproject-1.0.0.jar", "META-INF/jars/fabric-api-base-0.2.1+9354966b7d.jar") where: - gradle | _ - '6.8.3' | _ - '7.0-rc-1' | _ + gradle | _ + DEFAULT_GRADLE | _ + PRE_RELEASE_GRADLE | _ } } diff --git a/src/test/groovy/net/fabricmc/loom/ReproducibleBuildTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/ReproducibleBuildTest.groovy similarity index 96% rename from src/test/groovy/net/fabricmc/loom/ReproducibleBuildTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/ReproducibleBuildTest.groovy index 0d1ba1b..8bcac7b 100644 --- a/src/test/groovy/net/fabricmc/loom/ReproducibleBuildTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/ReproducibleBuildTest.groovy @@ -22,12 +22,12 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration import com.google.common.hash.HashCode import com.google.common.hash.Hashing import com.google.common.io.Files -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import spock.lang.Specification import spock.lang.Unroll diff --git a/src/test/groovy/net/fabricmc/loom/RunConfigTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/RunConfigTest.groovy similarity index 94% rename from src/test/groovy/net/fabricmc/loom/RunConfigTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/RunConfigTest.groovy index 96619f5..6ffb113 100644 --- a/src/test/groovy/net/fabricmc/loom/RunConfigTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/RunConfigTest.groovy @@ -22,9 +22,9 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import spock.lang.Specification import spock.lang.Unroll diff --git a/src/test/groovy/net/fabricmc/loom/SimpleProjectTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/SimpleProjectTest.groovy similarity index 91% rename from src/test/groovy/net/fabricmc/loom/SimpleProjectTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/SimpleProjectTest.groovy index f499356..8be2504 100644 --- a/src/test/groovy/net/fabricmc/loom/SimpleProjectTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/SimpleProjectTest.groovy @@ -22,9 +22,9 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import spock.lang.Specification import spock.lang.Unroll @@ -43,9 +43,9 @@ class SimpleProjectTest extends Specification implements ProjectTestTrait { then: result.task(":build").outcome == SUCCESS where: - gradle | _ - '6.8.3' | _ - '7.0-rc-1' | _ + gradle | _ + DEFAULT_GRADLE | _ + PRE_RELEASE_GRADLE | _ } @Unroll diff --git a/src/test/groovy/net/fabricmc/loom/UnpickTest.groovy b/src/test/groovy/net/fabricmc/loom/test/intergration/UnpickTest.groovy similarity index 95% rename from src/test/groovy/net/fabricmc/loom/UnpickTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/intergration/UnpickTest.groovy index ee228b8..73547e2 100644 --- a/src/test/groovy/net/fabricmc/loom/UnpickTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/intergration/UnpickTest.groovy @@ -22,9 +22,9 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.intergration -import net.fabricmc.loom.util.ProjectTestTrait +import net.fabricmc.loom.test.util.ProjectTestTrait import org.zeroturnaround.zip.ZipUtil import spock.lang.Specification diff --git a/src/test/groovy/net/fabricmc/loom/GroovyXmlUtilTest.groovy b/src/test/groovy/net/fabricmc/loom/test/unit/GroovyXmlUtilTest.groovy similarity index 98% rename from src/test/groovy/net/fabricmc/loom/GroovyXmlUtilTest.groovy rename to src/test/groovy/net/fabricmc/loom/test/unit/GroovyXmlUtilTest.groovy index a379b72..4d6353a 100644 --- a/src/test/groovy/net/fabricmc/loom/GroovyXmlUtilTest.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/unit/GroovyXmlUtilTest.groovy @@ -22,7 +22,7 @@ * SOFTWARE. */ -package net.fabricmc.loom +package net.fabricmc.loom.test.unit import groovy.xml.QName import net.fabricmc.loom.util.GroovyXmlUtil diff --git a/src/test/groovy/net/fabricmc/loom/util/ArchiveAssertionsTrait.groovy b/src/test/groovy/net/fabricmc/loom/test/util/ArchiveAssertionsTrait.groovy similarity index 97% rename from src/test/groovy/net/fabricmc/loom/util/ArchiveAssertionsTrait.groovy rename to src/test/groovy/net/fabricmc/loom/test/util/ArchiveAssertionsTrait.groovy index 5a7a74b..fa4492f 100644 --- a/src/test/groovy/net/fabricmc/loom/util/ArchiveAssertionsTrait.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/util/ArchiveAssertionsTrait.groovy @@ -22,7 +22,7 @@ * SOFTWARE. */ -package net.fabricmc.loom.util +package net.fabricmc.loom.test.util import org.zeroturnaround.zip.ZipUtil diff --git a/src/test/groovy/net/fabricmc/loom/util/MockMavenServerTrait.groovy b/src/test/groovy/net/fabricmc/loom/test/util/MockMavenServerTrait.groovy similarity index 98% rename from src/test/groovy/net/fabricmc/loom/util/MockMavenServerTrait.groovy rename to src/test/groovy/net/fabricmc/loom/test/util/MockMavenServerTrait.groovy index f7bfcb4..604c1fa 100644 --- a/src/test/groovy/net/fabricmc/loom/util/MockMavenServerTrait.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/util/MockMavenServerTrait.groovy @@ -22,7 +22,7 @@ * SOFTWARE. */ -package net.fabricmc.loom.util +package net.fabricmc.loom.test.util import io.javalin.Javalin import org.apache.commons.io.IOUtils diff --git a/src/test/groovy/net/fabricmc/loom/util/ProjectTestTrait.groovy b/src/test/groovy/net/fabricmc/loom/test/util/ProjectTestTrait.groovy similarity index 95% rename from src/test/groovy/net/fabricmc/loom/util/ProjectTestTrait.groovy rename to src/test/groovy/net/fabricmc/loom/test/util/ProjectTestTrait.groovy index 76278f6..619973e 100644 --- a/src/test/groovy/net/fabricmc/loom/util/ProjectTestTrait.groovy +++ b/src/test/groovy/net/fabricmc/loom/test/util/ProjectTestTrait.groovy @@ -22,15 +22,17 @@ * SOFTWARE. */ -package net.fabricmc.loom.util +package net.fabricmc.loom.test.util import org.gradle.testkit.runner.BuildResult import org.gradle.testkit.runner.GradleRunner trait ProjectTestTrait { - static File gradleHome = File.createTempDir() + final static String LEGACY_GRADLE = "4.9" final static String DEFAULT_GRADLE = "6.8.3" + final static String PRE_RELEASE_GRADLE = "7.0-rc-2" + static File gradleHome = File.createTempDir() File testProjectDir = File.createTempDir() abstract String name() @@ -93,7 +95,7 @@ trait ProjectTestTrait { } String warningMode(String gradleVersion) { - if (gradleVersion == "4.9") { + if (gradleVersion == LEGACY_GRADLE) { return "all" }