Tweak tests
This commit is contained in:
		
							parent
							
								
									326224ba91
								
							
						
					
					
						commit
						60909ce9a5
					
				
					 5 changed files with 57 additions and 18 deletions
				
			
		|  | @ -3,7 +3,7 @@ package net.fabricmc.loom | |||
| /** | ||||
|  * Created by Mitchell Skaggs on 6/12/2019. | ||||
|  */ | ||||
| static String genBuildFile() { | ||||
| static String genBuildFile(String mappingsDep = "\"net.fabricmc:yarn:\${project.yarn_mappings}\"") { | ||||
| 	""" | ||||
| plugins { | ||||
| 	id 'fabric-loom' | ||||
|  | @ -23,7 +23,7 @@ minecraft { | |||
| dependencies { | ||||
| 	//to change the versions see the gradle.properties file | ||||
| 	minecraft "com.mojang:minecraft:\${project.minecraft_version}" | ||||
| 	mappings "net.fabricmc:yarn:\${project.yarn_mappings}" | ||||
| 	mappings ${mappingsDep} | ||||
| 	modCompile "net.fabricmc:fabric-loader:\${project.loader_version}" | ||||
| 
 | ||||
| 	// Fabric API. This is technically optional, but you probably want it anyway. | ||||
|  |  | |||
|  | @ -44,9 +44,8 @@ class EmptyBuildFunctionalTest extends Specification { | |||
| 		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.183' | ||||
| 		'1.14.1'  | '1.14.1+build.10' | '0.4.8+build.155' | '0.3.0+build.183' | ||||
| 		'1.14.2'  | '1.14.2+build.7'  | '0.4.8+build.155' | '0.3.0+build.183' | ||||
| 		mcVersion | yarnVersion       		| loaderVersion     | fabricVersion | ||||
| 		'1.14'    | '1.14+build.21'   		| '0.4.8+build.155' | '0.3.0+build.183' | ||||
| 		'1.16.2'  | '1.16.2+build.26:v2' 	| '0.9.2+build.206' | '0.19.0+build.398-1.16' | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -0,0 +1,50 @@ | |||
| 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 EmptyBuildMojangFunctionalTest extends Specification { | ||||
| 	@Rule | ||||
| 	TemporaryFolder testProjectDir = new TemporaryFolder() | ||||
| 	File settingsFile | ||||
| 	File buildFile | ||||
| 	File propsFile | ||||
| 
 | ||||
| 	def setup() { | ||||
| 		settingsFile = testProjectDir.newFile('settings.gradle') | ||||
| 		buildFile = testProjectDir.newFile('build.gradle') | ||||
| 		propsFile = testProjectDir.newFile('gradle.properties') | ||||
| 	} | ||||
| 
 | ||||
| 	@Unroll | ||||
| 	def "empty build succeeds using Minecraft #mcVersion"() { | ||||
| 		given: | ||||
| 		settingsFile << genSettingsFile("empty-build-functional-test") | ||||
| 		propsFile << genPropsFile(mcVersion, "nope", loaderVersion, fabricVersion) | ||||
| 		buildFile << genBuildFile("minecraft.officialMojangMappings()") | ||||
| 
 | ||||
| 		when: | ||||
| 		def result = GradleRunner.create() | ||||
| 				.withProjectDir(testProjectDir.root) | ||||
| 				.withArguments('build',"--stacktrace") | ||||
| 				.withPluginClasspath() | ||||
| 				.forwardOutput() | ||||
| 				.build() | ||||
| 
 | ||||
| 		then: | ||||
| 		result.task(":build").outcome == SUCCESS | ||||
| 
 | ||||
| 		where: | ||||
| 		mcVersion	| loaderVersion     | fabricVersion | ||||
| 		'1.16.2'	| '0.9.2+build.206' | '0.19.0+build.398-1.16' | ||||
| 	} | ||||
| } | ||||
|  | @ -40,13 +40,7 @@ class MixinBuildFunctionalTest extends Specification { | |||
| 		modMixinsJavaFile = testProjectDir.newFile("src/main/java/net/fabricmc/example/mixin/ExampleMixin.java") | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Why it's ignored: | ||||
| 	 * <p> | ||||
| 	 * When doing mixin annotation processing, a {@link ServiceLoader} is used to find implementations of {@link org.spongepowered.tools.obfuscation.service.IObfuscationService}. The classpath isn't passed to the build properly in this case, causing the Fabric-specific {@link net.fabricmc.loom.mixin.ObfuscationServiceFabric} to not be loaded. This causes the mixin to fail to compile because it doesn't know how to be reobfuscated. | ||||
| 	 */ | ||||
| 	@Unroll | ||||
| 	@Ignore("fails because the annotation processor classpath doesn't include fabric-mixin-compile-extensions, so it doesn't know how to remap anything") | ||||
| 	def "mixin build succeeds using Minecraft #mcVersion"() { | ||||
| 		given: | ||||
| 		settingsFile << genSettingsFile("mixin-build-functional-test") | ||||
|  | @ -69,9 +63,7 @@ class MixinBuildFunctionalTest extends Specification { | |||
| 		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' | ||||
| 		mcVersion | yarnVersion       	| loaderVersion     | fabricVersion | ||||
| 		'1.14'    | '1.14+build.21'   	| '0.4.8+build.155' | '0.3.0+build.184' | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -58,7 +58,5 @@ class SimpleBuildFunctionalTest extends Specification { | |||
| 		mcVersion | yarnVersion       | loaderVersion     | fabricVersion | ||||
| 		'19w45a'  | '19w45a+build.2:v2'   | '0.6.2+build.166' | '0.4.9+build.258-1.15' | ||||
| 		'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' | ||||
| 	} | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue