Use mockJDK as a bootClasspath for AbstractCompileKotlinAgainstJavaTest

Otherwise JAVA_HOME is being used that lead to test result depending
on minor JDK version used on a computer

 #KT-21047 Fixed
This commit is contained in:
Denis Zharkov
2018-03-15 14:33:55 +03:00
parent 1766812bf3
commit 21932b5824
4 changed files with 60 additions and 78 deletions
@@ -62,7 +62,7 @@ abstract class AbstractCompileKotlinAgainstJavaTest : TestCaseWithTmpdir() {
environment.configuration.put(JVMConfigurationKeys.USE_JAVAC, true)
environment.configuration.put(JVMConfigurationKeys.OUTPUT_DIRECTORY, out)
environment.registerJavac(emptyList<File>())
environment.registerJavac(emptyList<File>(), bootClasspath = listOf(KotlinTestUtils.findMockJdkRtJar()))
val analysisResult = JvmResolveUtil.analyze(environment)
val packageView = analysisResult.moduleDescriptor.getPackage(LoadDescriptorUtil.TEST_PACKAGE_FQNAME)
@@ -83,9 +83,12 @@ abstract class AbstractCompileKotlinAgainstJavaTest : TestCaseWithTmpdir() {
environment.configuration.put(JVMConfigurationKeys.USE_JAVAC, true)
environment.configuration.put(JVMConfigurationKeys.COMPILE_JAVA, true)
environment.configuration.put(JVMConfigurationKeys.OUTPUT_DIRECTORY, outDir)
environment.registerJavac(javaFiles = javaFiles,
kotlinFiles = listOf(KotlinTestUtils.loadJetFile(environment.project, ktFiles.first())),
arguments = arrayOf("-proc:none"))
environment.registerJavac(
javaFiles = javaFiles,
kotlinFiles = listOf(KotlinTestUtils.loadJetFile(environment.project, ktFiles.first())),
arguments = arrayOf("-proc:none"),
bootClasspath = listOf(KotlinTestUtils.findMockJdkRtJar())
)
if (!ktFiles.isEmpty()) {
LoadDescriptorUtil.compileKotlinToDirAndGetModule(ktFiles, outDir, environment)
} else {