Fix ReproducibleBuildTest

dev/0.11
modmuss50 2021-03-06 13:18:55 +00:00
parent 87f3743b24
commit 92efb9aa73
2 changed files with 14 additions and 13 deletions

View File

@ -24,17 +24,15 @@
package net.fabricmc.loom
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 spock.lang.Ignore
import spock.lang.Specification
import spock.lang.Unroll
import java.security.DigestInputStream
import java.security.MessageDigest
import static org.gradle.testkit.runner.TaskOutcome.SUCCESS
@Ignore //TODO this is currently failing!
class ReproducibleBuildTest extends Specification implements ProjectTestTrait {
@Override
String name() {
@ -51,8 +49,8 @@ class ReproducibleBuildTest extends Specification implements ProjectTestTrait {
getOutputHash("fabric-example-mod-1.0.0-sources.jar") == sourceHash
where:
gradle | modHash | sourceHash
'6.8.3' | "e1beb19574f3446800e0a5e289121365" | "123"
'7.0-milestone-2' | "9759775e1f5440a18667c41cf1961908" | "123"
'6.8.3' | "ccd6aaff1b06df01e4dd8c08625b82c9" | "8bd590dc03b7dd0de3a4a7aeb431d4e8"
'7.0-milestone-2' | "ccd6aaff1b06df01e4dd8c08625b82c9" | "8bd590dc03b7dd0de3a4a7aeb431d4e8"
}
String getOutputHash(String name) {
@ -60,11 +58,7 @@ class ReproducibleBuildTest extends Specification implements ProjectTestTrait {
}
String generateMD5(File file) {
file.withInputStream {
new DigestInputStream(it, MessageDigest.getInstance('MD5')).withStream {
it.eachByte {}
it.messageDigest.digest().encodeHex() as String
}
}
HashCode hash = Files.asByteSource(file).hash(Hashing.md5())
return hash.asBytes().encodeHex() as String
}
}

View File

@ -59,6 +59,13 @@ trait ProjectTestTrait {
System.setProperty("fabric.loom.ci", "false")
}
@SuppressWarnings('unused')
def cleanup() {
// Clean after each test
new File(testProjectDir, "build").deleteDir()
new File(testProjectDir, ".gradle").deleteDir()
}
@SuppressWarnings('unused')
def cleanupSpec() {
testProjectDir.deleteDir()