Compile common stdlib tests against common stdlib

Declare platform-specific test utilities as expect.
This commit is contained in:
Ilya Gorbunov
2017-12-22 15:34:26 +03:00
parent c030a047aa
commit ecd42f14b3
7 changed files with 84 additions and 13 deletions
+18 -1
View File
@@ -4,7 +4,8 @@ apply plugin: 'kotlin-platform-common'
configurePublishing(project)
ext.commonSrcDir = "${buildDir}/common-sources"
def commonSrcDir = "${buildDir}/common-sources"
def commonTestSrcDir = "${buildDir}/common-test-sources"
sourceSets {
main {
@@ -13,9 +14,21 @@ sourceSets {
srcDir commonSrcDir
}
}
test {
kotlin {
srcDir commonTestSrcDir
srcDir 'test'
}
}
}
dependencies {
testCompile project(":kotlin-test:kotlin-test-common")
testCompile project(":kotlin-test:kotlin-test-annotations-common")
}
createPreprocessorTask(project, "Main", "${projectDir}/../src/kotlin", commonSrcDir)
createPreprocessorTask(project, "Test", "${projectDir}/../test", commonTestSrcDir)
compileKotlinCommon {
dependsOn preprocessSourcesMain
@@ -34,6 +47,10 @@ compileKotlinCommon {
}
*/
compileTestKotlinCommon {
dependsOn preprocessSourcesTest
}
kotlin.experimental.coroutines 'enable'
jar {
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package test.collections.js
// TODO: These have actuals only in JVM tests, and in JS they are in stdlib
public expect fun <V> stringMapOf(vararg pairs: Pair<String, V>): HashMap<String, V>
public expect fun <V> linkedStringMapOf(vararg pairs: Pair<String, V>): LinkedHashMap<String, V>
public expect fun stringSetOf(vararg elements: String): HashSet<String>
public expect fun linkedStringSetOf(vararg elements: String): LinkedHashSet<String>
+25
View File
@@ -0,0 +1,25 @@
/*
* Copyright 2010-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package test
public expect fun assertTypeEquals(expected: Any?, actual: Any?)
internal expect fun String.removeLeadingPlusOnJava6(): String
internal expect fun doubleTotalOrderEquals(a: Double?, b: Double?): Boolean
// TODO
internal expect class NumberFormatException : Throwable