aboutsummaryrefslogtreecommitdiff
path: root/src/test/groovy/net/fabricmc/loom/SimpleBuildFunctionalTest.groovy
diff options
context:
space:
mode:
authorMitchell Skaggs <skaggsm333@gmail.com>2019-06-15 16:28:37 -0500
committerMitchell Skaggs <skaggsm333@gmail.com>2019-06-15 16:28:37 -0500
commitc0a58d1bc7d2860ea9c5a94263f9930475c08d08 (patch)
treea2efd85c1c68e0e3411623f3c2d39a2dc0c8bea5 /src/test/groovy/net/fabricmc/loom/SimpleBuildFunctionalTest.groovy
parent52814a5b7bb673aa14cffd4a2b38dceff5395cef (diff)
downloadarchitectury-loom-c0a58d1bc7d2860ea9c5a94263f9930475c08d08.tar.gz
architectury-loom-c0a58d1bc7d2860ea9c5a94263f9930475c08d08.tar.bz2
architectury-loom-c0a58d1bc7d2860ea9c5a94263f9930475c08d08.zip
Add simple build functional test
Diffstat (limited to 'src/test/groovy/net/fabricmc/loom/SimpleBuildFunctionalTest.groovy')
-rw-r--r--src/test/groovy/net/fabricmc/loom/SimpleBuildFunctionalTest.groovy61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/test/groovy/net/fabricmc/loom/SimpleBuildFunctionalTest.groovy b/src/test/groovy/net/fabricmc/loom/SimpleBuildFunctionalTest.groovy
new file mode 100644
index 00000000..4cbd9b8f
--- /dev/null
+++ b/src/test/groovy/net/fabricmc/loom/SimpleBuildFunctionalTest.groovy
@@ -0,0 +1,61 @@
+package net.fabricmc.loom
+
+import org.gradle.testkit.runner.GradleRunner
+import org.junit.Rule
+import org.junit.rules.TemporaryFolder
+import spock.lang.Specification
+import spock.lang.Unroll
+
+import static net.fabricmc.loom.BuildUtils.*
+import static org.gradle.testkit.runner.TaskOutcome.SUCCESS
+
+/**
+ * Created by Mitchell Skaggs on 6/10/2019.
+ */
+class SimpleBuildFunctionalTest extends Specification {
+ @Rule
+ TemporaryFolder testProjectDir = new TemporaryFolder()
+ File settingsFile
+ File buildFile
+ File propsFile
+ File modJsonFile
+ File modExampleFile
+
+ def setup() {
+ settingsFile = testProjectDir.newFile('settings.gradle')
+ buildFile = testProjectDir.newFile('build.gradle')
+ propsFile = testProjectDir.newFile('gradle.properties')
+
+ testProjectDir.newFolder("src", "main", "resources")
+ modJsonFile = testProjectDir.newFile('src/main/resources/fabric.mod.json')
+
+ testProjectDir.newFolder("src", "main", "java", "net", "fabricmc", "example")
+ modExampleFile = testProjectDir.newFile("src/main/java/net/fabricmc/example/ExampleMod.java")
+ }
+
+ @Unroll
+ def "simple build succeeds using Minecraft #mcVersion"() {
+ given:
+ settingsFile << genSettingsFile("simple-build-functional-test")
+ propsFile << genPropsFile(mcVersion, yarnVersion, loaderVersion, fabricVersion)
+ buildFile << genBuildFile()
+ modJsonFile << genModJsonFile()
+ modExampleFile << genModExampleFile()
+
+ when:
+ def result = GradleRunner.create()
+ .withProjectDir(testProjectDir.root)
+ .withArguments('build')
+ .withPluginClasspath()
+ .build()
+
+ then:
+ result.task(":build").outcome == SUCCESS
+
+ where:
+ mcVersion | yarnVersion | loaderVersion | fabricVersion
+ '1.14' | '1.14+build.21' | '0.4.8+build.155' | '0.3.0+build.184'
+ '1.14.1' | '1.14.1+build.10' | '0.4.8+build.155' | '0.3.0+build.184'
+ '1.14.2' | '1.14.2+build.7' | '0.4.8+build.155' | '0.3.0+build.184'
+ }
+}