Fix stdlib usages in IC tests

* Use stdlib from dist
* Check that stdlib exists
* Don't add stdlib for JS, because compiler adds one by default
(stdlib would be read twice which is slow)
This commit is contained in:
Alexey Tsvetkov
2017-12-22 07:03:49 +03:00
parent e3a9ad5a74
commit 123fd64a34
3 changed files with 8 additions and 6 deletions
@@ -16,6 +16,7 @@
package org.jetbrains.kotlin.incremental
import com.intellij.testFramework.UsefulTestCase
import com.intellij.util.containers.HashMap
import org.jetbrains.kotlin.TestWithWorkingDir
import org.jetbrains.kotlin.cli.common.ExitCode
@@ -23,9 +24,6 @@ import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.incremental.testingUtils.*
import org.jetbrains.kotlin.incremental.utils.TestCompilationResult
import org.junit.Assert
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.Parameterized
import java.io.File
abstract class AbstractIncrementalCompilerRunnerTestBase<Args : CommonCompilerArguments> : TestWithWorkingDir() {
@@ -136,6 +134,11 @@ abstract class AbstractIncrementalCompilerRunnerTestBase<Args : CommonCompilerAr
companion object {
@JvmStatic
protected val bootstrapKotlincLib: File = File("dependencies/bootstrap-compiler/Kotlin/kotlinc/lib")
private val distKotlincLib: File = File("dist/kotlinc/lib")
@JvmStatic
protected val kotlinStdlibJvm: File = File(distKotlincLib, "kotlin-stdlib.jar").also {
UsefulTestCase.assertExists(it)
}
}
}
@@ -37,6 +37,5 @@ abstract class AbstractIncrementalJsCompilerRunnerTest : AbstractIncrementalComp
override fun createCompilerArguments(destinationDir: File, testDir: File): K2JSCompilerArguments =
K2JSCompilerArguments().apply {
outputFile = File(destinationDir, "${testDir.name}.js").path
libraries = File(bootstrapKotlincLib, "kotlin-stdlib-js.jar").path
}
}
@@ -77,7 +77,7 @@ abstract class AbstractIncrementalJvmCompilerRunnerTest : AbstractIncrementalCom
private val compileClasspath =
listOf(
File(bootstrapKotlincLib, "kotlin-stdlib.jar"),
kotlinStdlibJvm,
KotlinTestUtils.getAnnotationsJar()
).joinToString(File.pathSeparator) { it.canonicalPath }
}