Add mock runtime to diagnostic tests.

Mock runtime contains function from file Standard.kt
This commit is contained in:
Stanislav Erokhin
2016-01-24 11:24:03 +03:00
parent 6ac73eb760
commit d7438d9f2b
6 changed files with 39 additions and 8 deletions
+22 -1
View File
@@ -1051,7 +1051,7 @@
</target>
<target name="runtime"
depends="builtins,stdlib,kotlin-test,core,reflection,pack-runtime,pack-runtime-sources"/>
depends="builtins,stdlib,kotlin-test,core,reflection,pack-runtime,pack-runtime-sources,mock-runtime-for-test"/>
<target name="dist"
depends="clean,init,prepare-dist,preloader,runner,serialize-builtins,compiler,compiler-sources,kotlin-build,ant-tools,jdk-annotations,android-sdk-annotations,runtime,kotlin-js-stdlib,android-compiler-plugin,daemon-client"
@@ -1150,6 +1150,27 @@
</zip>
</target>
<target name="mock-runtime-for-test">
<delete dir="${output}/mock-runtime-src" failonerror="false"/>
<mkdir dir="${output}/mock-runtime-src"/>
<copy file="${basedir}/libraries/stdlib/src/kotlin/util/Standard.kt" todir="${output}/mock-runtime-src"/>
<new-kotlinc output="${output}/classes/mock-runtime" moduleName="kotlin-stdlib">
<src>
<include name="dist/mock-runtime-src"/>
</src>
<class-path>
<pathelement path="${output}/classes/builtins"/>
</class-path>
</new-kotlinc>
<pack-runtime-jar jar-dir="${output}" jar-name="kotlin-mock-runtime-for-test.jar" implementation-title="Kotlin Mock Runtime">
<jar-content>
<fileset dir="${output}/classes/mock-runtime"/>
</jar-content>
</pack-runtime-jar>
</target>
<target name="build-bootstrap-artifacts" depends="dist,zip-compiler"/>
<target name="build-artifacts" depends="dist,zip-compiler,kotlin-for-upsource,zip-test-data"/>
@@ -6,8 +6,8 @@ public fun run(/*0*/ f: () -> kotlin.Unit): kotlin.Int
public final class My {
public constructor My()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final fun foo(/*0*/ arg: kotlin.Int?): kotlin.Int
public final fun foo(/*0*/ arg: kotlin.Int?): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public final fun kotlin.Int?.bar(): kotlin.Int
public final fun kotlin.Int?.bar(): kotlin.Unit
}
@@ -79,7 +79,7 @@ public abstract class KotlinMultiFileTestWithWithJava<M, F> extends KotlinLiteFi
@NotNull
protected CompilerConfiguration createCompilerConfiguration(File javaFilesDir) {
return KotlinTestUtils.compilerConfigurationForTests(
ConfigurationKind.JDK_ONLY,
ConfigurationKind.MOCK_RUNTIME,
TestJdkKind.MOCK_JDK,
Collections.singletonList(KotlinTestUtils.getAnnotationsJar()),
Collections.singletonList(javaFilesDir)
@@ -36,6 +36,11 @@ public class ForTestCompileRuntime {
return assertExists(new File("dist/kotlinc/lib/kotlin-runtime.jar"));
}
@NotNull
public static File mockRuntimeJarForTests() {
return assertExists(new File("dist/kotlin-mock-runtime-for-test.jar"));
}
@NotNull
public static File kotlinTestJarForTests() {
return assertExists(new File("dist/kotlinc/lib/kotlin-test.jar"));
@@ -17,10 +17,12 @@
package org.jetbrains.kotlin.test
enum class ConfigurationKind(
val withRuntime: Boolean,
val withReflection: Boolean
val withRuntime: Boolean = false,
val withMockRuntime: Boolean = false,
val withReflection: Boolean = false
) {
JDK_ONLY(withRuntime = false, withReflection = false),
NO_KOTLIN_REFLECT(withRuntime = true, withReflection = false),
JDK_ONLY(),
MOCK_RUNTIME(withMockRuntime = true),
NO_KOTLIN_REFLECT(withRuntime = true),
ALL(withRuntime = true, withReflection = true),
}
@@ -448,6 +448,9 @@ public class KotlinTestUtils {
JvmContentRootsKt.addJvmClasspathRoot(configuration, ForTestCompileRuntime.runtimeJarForTests());
JvmContentRootsKt.addJvmClasspathRoot(configuration, ForTestCompileRuntime.kotlinTestJarForTests());
}
else if (configurationKind.getWithMockRuntime()) {
JvmContentRootsKt.addJvmClasspathRoot(configuration, ForTestCompileRuntime.mockRuntimeJarForTests());
}
if (configurationKind.getWithReflection()) {
JvmContentRootsKt.addJvmClasspathRoot(configuration, ForTestCompileRuntime.reflectJarForTests());
}